我想知道如何将x509证书与WIF安全令牌一起使用。你能提供一个典型的场景吗?例如,我想使用证书/证书对安全令牌进行签名和加密。我怎么能这样做?我会得到什么好处?我应该以何种方式在生产环境中部署证书?
答案 0 :(得分:2)
问题:“我该怎么做”除了“使用WIF API”之外没有其他简洁的答案。 API与X509证书很好地配合使用,因此加密和签名只需要X509Certificate2类实例(换句话说:证书)。
另一个问题:有什么好处?好吧,令牌签名是执行协议的基本方式。如果SAML令牌未签名,则无法验证它是否真正来自令牌服务。另一方面,加密是可选的,如果相同的令牌可以安全地传递到不同的应用程序,那么可能不需要加密令牌。如果将不同的令牌传递到不同的应用程序(例如,用户可以在siteA中处于管理员角色而不在siteB中,并且令牌服务为A和B提供不同的令牌),则加密会阻止用户滥用令牌。
最后一个问题:如何部署证书?嗯,这取决于你。由于X509Certificate2类非常灵活,并且允许您将字节数组作为参数传递,因此有很多可能性。然后,您可以从文件,Web服务和嵌入式资源加载证书。但实际上,最方便的方法是使用系统证书存储之一,例如LocalMachine的My store。首先使用mmc管理单元将证书导入到存储中,然后授予访问某些用户(例如应用程序池)的私钥的权限,然后您的代码只需从存储中加载证书。