2016-03-17 66 views
0

我试图从FederationAuthenticationModule(WS FAM?)迁移到OWIN WsFederationAuthentication中间件。到目前为止,除了一些客户以外,我们只有他们的签名证书的指纹。从签名证书指纹创建SecurityKey

对于WS FAM,这已足够,因为ConfigurationBasedIssuerNameRegistry.AddTrustedIssuer()只需要签名证书的指纹。

但是,OWIN中间件在WsFederationConfiguration.SigningKeys收藏中需要SecurityKey衍生类型。虽然我可以从证书创建SecurityKey,但是我找不到仅从指纹创建一个的方法。

任何想法如何从证书指纹创建SecurityKey或任何其他方式让WsFederationAuthentication中间件只使用指纹?

回答

2

AFAIK,通过使用联合元数据(位于FederationMetadata/2007-06/FederationMetadata.xml)使用WIF与owin最简单的方法。那么你根本不需要设置任何东西。这里解释:http://blog.baslijten.com/configure-claims-based-web-applications-using-owin-wsfederation-middleware/。前提条件当然是你的STS发布一个有意义的FederationMetaData文档。好处是您的应用程序会自动获取验证所需的公钥(并且无缝地更新它们)。 这不是你的问题的答案,但它是恕我直言比你采取的方法更容易。

+0

根据他们如何配置它以及使用的令牌格式,您可能可以从安全令牌中提取证书。您应该意识到,如果您为所有令牌自动执行此操作(如果尚未知道,请添加证书),那么您将创建一个安全漏洞,因为任何人都可以向您发送有效签名的SAML2令牌(或针对该事件的JWT令牌)。如果你以一种受控的方式(“我现在将获得我认识和信任的身份提供者的公钥)”自己做,那么这可以帮助你。 –

+0

是的,我正在谈论某个时间点的人工提取。 –