.NET Fedlet 支持对外出 XML(可扩展标记语言)请求(如 Authn 请求)和注销请求签名。
使用 Microsoft Management Console 的证书管理单元将 X.509 证书导入到本地计算机帐户内的个人文件夹中。要使用此管理单元,请参见以下 Microsoft 文章:
通过查看“属性”对话框并输入值,为此证书指定一个易记名称。(保存此值以在步骤 4 中使用。)
为 Internet Information Server (IIS) 使用的用户帐户设置相应的权限,以允许其读取证书,如 Microsoft 文章中所述。例如:
在 .NET Fedlet 的扩展元数据文件 (sp-extended.xml) 中,指定在步骤 2 中指定的易记名称,作为 signingCertAlias 属性的值。例如:
<Attribute name="signingCertAlias"> <Value>MyFedlet</Value>
在 .NET Fedlet 的服务提供者元数据文件 (sp.xml) 中,添加签名密钥的 KeyDescriptor。
使用之前使用过的 Microsoft Management Console 证书管理单元导出以 Base64 编码形式包括在 KeyDescriptor XML(可扩展标记语言)块中的证书的公钥。此 KeyDescriptor 必须是 SPSSODescriptor 中的第一个子元素。例如:
<KeyDescriptor use="signing">
<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>
</KeyDescriptor>
重新启动与 .NET 应用程序关联的应用程序池。