.NET Fedlet 可以加密外寄 XML 請求和解密針對 NameID、Attribute 和 Assertion 元素的內送回應。
使用 Microsoft Management Console 的憑證嵌入式管理單元將您的 X.509 憑證匯入本機電腦帳號內的個人資料夾中。若要使用此嵌入式管理單元,請參閱以下 Microsoft 文章:
透過檢視 [特性] 對話方塊並輸入值,為此憑證指定一個友好的名稱。(儲存此值以在步驟 4 中使用。)
為 Internet Information Server (IIS) 使用的使用者帳號設定相應的權限,以允許其讀取該憑證,如 Microsoft 文章中所述。例如:
在 .NET Fedlet 的擴展中介資料檔案 (sp-extended.xml) 中,指定在步驟 2 中指定的友好名稱作為 encryptionCertAlias 屬性的值。例如:
<Attribute name="encryptionCertAlias"> <Value>MyFedlet</Value>
在 .NET Fedlet 的服務提供者中介資料檔案 (sp.xml) 中,增加用於加密金鑰的 KeyDescriptor。
使用先前使用過的 Microsoft Management Console 憑證嵌入式管理單元匯出要包括在 KeyDescriptor XML 區塊中的 Base64 編碼的憑證公開金鑰。此 KeyDescriptor 必須為 SPSSODescriptor 內的第一個子元素。例如:
<KeyDescriptor use="encryption"> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:X509Data> <ds:X509Certificate> MIICQDCCAakCBEeNB0swDQYJKoZIhvcNAQEEBQAwZzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh bGlmb3JuaWExFDASBgNVBAcTC1NhbnRhIENsYXJhMQwwCgYDVQQKEwNTdW4xEDAOBgNVBAsTB09w ZW5TU08xDTALBgNVBAMTBHRlc3QwHhcNMDgwMTE1MTkxOTM5WhcNMTgwMTEyMTkxOTM5WjBnMQsw CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxMLU2FudGEgQ2xhcmExDDAK BgNVBAoTA1N1bjEQMA4GA1UECxMHT3BlblNTTzENMAsGA1UEAxMEdGVzdDCBnzANBgkqhkiG9w0B AQEFAAOBjQAwgYkCgYEArSQc/U75GB2AtKhbGS5piiLkmJzqEsp64rDxbMJ+xDrye0EN/q1U5Of\+ RkDsaN/igkAvV1cuXEgTL6RlafFPcUX7QxDhZBhsYF9pbwtMzi4A4su9hnxIhURebGEmxKW9qJNY Js0Vo5+IgjxuEWnjnnVgHTs1+mq5QYTA7E6ZyL8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB3Pw/U QzPKTPTYi9upbFXlrAKMwtFf2OW4yvGWWvlcwcNSZJmTJ8ARvVYOMEVNbsT4OFcfu2/PeYoAdiDA cGy/F2Zuj8XJJpuQRSE6PtQqBuDEHjjmOQJ0rV/r8mO1ZCtHRhpZ5zYRjhRC9eCbjx9VrFax0JDC /FfwWigmrW0Y0Q== </ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"> <KeySize xmlns="http://www.w3.org/2001/04/xmlenc#">128</KeySize> </EncryptionMethod> </KeyDescriptor>
重新啟動與您的 .NET 應用程式關聯的應用程式集區。
若要測試此配置,請使用範例應用程式。此外,請設定以下屬性以加密請求和解密來自包含所配置中介資料的適當變更的識別提供者的回應:
Assertion:將 sp-extended.xml 中介資料檔案中的 wantAssertionEncrypted 屬性設定為 true,以讓 .NET Fedlet 解密來自識別提供者的內送回應中的 EncryptedAssertion 元素。
Attribute:將 sp-extended.xml 中介資料檔案中的 wantAssertionEncrypted 屬性設定為 true,以讓 .NET Fedlet 解密來自識別提供者的內送回應中的 EncryptedAssertion 元素。
NameID:將idp-extended.xml 中介資料檔案中的 wantNameIDEncrypted 屬性設定為 true,以讓 .NET Fedlet 加密外寄請求中的 NameID 元素。在 sp-extended.xml 中設定這一屬性,以讓 .NET Fedlet 解密來自識別提供者的內送回應中的 EncryptedID 元素。