2016-03-17 99 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

是的,我正在談論某個時間點的人工提取。 –