C# 从签名证书指纹创建SecurityKey

C# 从签名证书指纹创建SecurityKey,c#,owin,wif,ws-federation,C#,Owin,Wif,Ws Federation,我正在尝试从FederationAuthenticationModule(WS-FAM?)迁移到OWIN WsFederationAuthentication中间件。到目前为止,一切都很好,只是对于一些客户,我们只有他们签名证书的指纹 对于WS-FAM,这就足够了,因为只需要签名证书的指纹 但是,OWIN中间件在WsFederationConfiguration.SigningKeys-集合中需要一个派生类型。虽然我可以从证书创建SecurityKey,但我找不到仅从指纹创建的方法 您知道如何仅

我正在尝试从FederationAuthenticationModule(WS-FAM?)迁移到OWIN WsFederationAuthentication中间件。到目前为止,一切都很好,只是对于一些客户,我们只有他们签名证书的指纹

对于WS-FAM,这就足够了,因为只需要签名证书的指纹

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


您知道如何仅从证书指纹创建
SecurityKey
,或者以任何其他方式让WsFederationAuthentication中间件仅使用指纹吗?

好的,将WIF与owin结合使用的最简单方法是通过使用联合元数据(位于FederationMetadata/2007-06/FederationMetadata.xml)。然后,您根本不需要设置任何内容。此处对此进行了说明:。前提条件当然是您的STS发布有意义的FederationMetaData文档。很好的优点是,验证所需的公钥由应用程序自动拾取(并且可以无缝地进行续订)。
这不是对您问题的回答,但它比您正在采取的方法要简单得多。

AFAIK,将WIF与owin结合使用的最简单方法是使用联合元数据(位于FederationMetadata/2007-06/FederationMetadata.xml)。然后,您根本不需要设置任何内容。此处对此进行了说明:。前提条件当然是您的STS发布有意义的FederationMetaData文档。很好的优点是,验证所需的公钥由应用程序自动拾取(并且可以无缝地进行续订)。
这不是对您问题的回答,但它比您正在采取的方法要简单得多。

根据他们如何配置以及使用的令牌格式,您可能会从安全令牌中提取证书。您应该注意,如果您对所有令牌自动执行此操作(如果还不知道,请添加证书)然后创建一个安全漏洞,因为任何人都可以向您发送一个有效签名的SAML2令牌(或JWT令牌)。如果您自己以受控方式发送(“我现在将获取我知道并信任的此身份提供器的公钥”)然后,这可能会帮助您。是的,我说的是在某个时间点手动提取。根据他们如何配置以及使用的令牌格式,您可能会从安全令牌中提取证书。您应该知道,如果您对所有令牌自动执行此操作(即,如果尚未知道,则添加证书)然后你创建了一个安全漏洞,因为任何人都可以向你发送一个有效签名的SAML2令牌(或者JWT令牌)。如果你自己以一种可控的方式来做(“我现在要获取我知道并信任的这个身份提供者的公钥”),那么这可以帮助你解决问题。是的,我说的是在某个时间点手动提取。