<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>

另请参阅