<knownCertificates> 的 <add>
向已知证书集合添加 X.509 证书。
configuration
system.serviceModel
behaviors
<serviceBehaviors>
behavior
<serviceCredentials>
<issuedTokenAuthentication>
<knownCertificates>
<add>
语法
<knownCertificates>
<add findValue="String"
storeLocation="CurrentUser/LocalMachine"
storeName="AddressBook/AuthRoot/CertificateAuthority/Disallowed/My/Root/TrustedPeople/TrustedPublisher"
x509FindType="FindByThumbprint/FindBySubjectName/FindBySubjectDistinguishedName/FindByIssuerName/FindByIssuerDistinguishedName/FindBySerialNumber/FindByTimeValid/FindByTimeNotYetValid/FindBySerialNumber/FindByTimeExpired/FindByTemplateName/FindByApplicationPolicy/FindByCertificatePolicy/FindByExtension/FindByKeyUsage/FindBySubjectKeyIdentifier"/>
</knownCertificates>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
属性 | 说明 |
---|---|
findValue | 字符串。 要搜索的值。 |
storeLocation | 枚举。 要搜索的两个存储位置之一。 |
storeName | 枚举。 要搜索的系统存储之一。 |
x509FindType | 枚举。 要搜索的证书字段之一。 |
findValue 属性
值 | 说明 |
---|---|
String | 值取决于搜索的字段(由 X509FindType 属性指定)。 例如,如果搜索指纹,则此值必须为十六进制数字字符串。 |
x509FindType 属性
值 | 说明 |
---|---|
枚举 | 值包括:FindByThumbprint、FindBySubjectName、FindBySubjectDistinguishedName、FindByIssuerName、FindByIssuerDistinguishedName、FindBySerialNumber、FindByTimeValid、FindByTimeNotYetValid、FindBySerialNumber、FindByTimeExpired、FindByTemplateName、FindByApplicationPolicy、FindByCertificatePolicy、FindByExtension、FindByKeyUsage 和 FindBySubjectKeyIdentifier。 |
storeLocation 属性
值 | 说明 |
---|---|
枚举 | CurrentUser 或 LocalMachine。 |
storeName 属性
值 | 说明 |
---|---|
枚举 | 值包括:AddressBook、AuthRoot、CertificateAuthority、Disallowed、My、Root、TrustedPeople 和 TrustedPublisher。 |
子元素
无。
父元素
元素 | 说明 |
---|---|
<knownCertificates> | 表示一个 X.509 证书集合,这些证书由安全令牌服务 (STS) 提供以用于验证安全令牌。 |
注解
颁发的令牌方案包含三个阶段。 在第一个阶段中,尝试访问服务的客户端被指引到安全令牌服务。 然后,安全令牌服务对该客户端进行身份验证,随后向该客户端颁发一个令牌(通常是一个安全断言标记语言 (SAML) 令牌)。 接下来,客户端携带此令牌返回服务。 服务检查该令牌,以获取使其可以对该令牌并进而对该客户端进行身份验证的数据。 若要对令牌进行身份验证,安全令牌服务所使用的证书必须为该服务所知。
<issuedTokenAuthentication> 元素是所有此类安全令牌服务证书的储存库。 若要添加证书,请使用 <knownCertificates>。 为每个证书插入一个 <add> 元素 <knownCertificates> 元素,如下面的示例中所示。
<issuedTokenAuthentication>
<knownCertificates>
<add findValue="www.contoso.com"
storeLocation="LocalMachine"
storeName="My"
X509FindType="FindBySubjectName" />
</knownCertificates>
</issuedTokenAuthentication>
默认情况下,必须从安全令牌服务那里获取证书。 这些“已知的”证书可以确保只有合法的客户端才能访问服务。
若要查看客户端可以由联合服务进行身份验证所需满足的条件,以及有关使用此配置元素的更多信息,请参阅如何:在联合身份验证服务上配置凭据。 有关联合身份验证方案的详细信息,请参阅联合身份验证令牌与颁发的令牌。
示例
下面的示例将证书添加到任意 STS 证书的存储库。
<serviceBehaviors>
<behavior name="myServiceBehavior">
<serviceCredentials>
<issuedTokenAuthentication>
<knownCertificates>
<add findValue="www.contoso.com"
storeLocation="LocalMachine"
storeName="CertificateAuthority"
x509FindType="FindByIssuerName" />
</knownCertificates>
</issuedTokenAuthentication>
</serviceCredentials>
</behavior>
</serviceBehaviors>