Compartilhar via


<add> de <knownCertificates>

Adiciona um certificado X.509 à coleção de certificados conhecidos.

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceCredentials>
            <issuedTokenAuthentication>
              <knownCertificates>
                <add>

Syntax

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

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

Atributo Descrição
findValue Cadeia de caracteres. O valor a ser procurado.
storeLocation Enumeração. Um dos dois locais de repositório para pesquisar.
storeName Enumeração. Um dos repositórios do sistema para pesquisar.
x509FindType Enumeração. Um dos campos do certificado para pesquisar.

Atributo findValue

Valor Descrição
String O valor depende do campo (especificado pelo atributo X509FindType) sendo pesquisado. Por exemplo, ao pesquisar uma impressão digital, o valor deverá ser uma sequência de números hexadecimais.

Atributo x509FindType

Valor Descrição
Enumeração Os valores incluem: FindByThumbprint, FindBySubjectName, FindBySubjectDistinguishedName, FindByIssuerName, FindByIssuerDistinguishedName, FindBySerialNumber, FindByTimeValid, FindByTimeNotYetValid, FindBySerialNumber, FindByTimeExpired, FindByTemplateName, FindByApplicationPolicy, FindByCertificatePolicy, FindByExtension, FindByKeyUsage, FindBySubjectKeyIdentifier.

Atributo storeLocation

Valor Descrição
Enumeração CurrentUser ou LocalMachine.

Atributo storeName

Valor Descrição
Enumeração Os valores incluem: AddressBook, AuthRoot, CertificateAuthority, Disallowed, My, Root, TrustedPeople, e TrustedPublisher.

Elementos filho

Nenhum.

Elementos pai

Elemento Descrição
<knownCertificates> Representa uma coleção de certificados X.509 fornecidos por um STS (Serviço de Token de Segurança) para validação de tokens de segurança.

Comentários

O cenário de token emitido tem três fases. Na primeira fase, um cliente que tenta acessar um serviço é encaminhado para um serviço de token seguro. Em seguida, o serviço de token seguro autentica o cliente e, posteriormente, emite um token ao cliente, normalmente um token SAML (Security Assertions Markup Language). Então, o cliente retorna ao serviço com o token. O serviço examina o token para obter dados que lhe permitem autenticar o token e, portanto, o cliente. Para autenticar o token, o certificado que o serviço de token seguro usa deve ser conhecido pelo serviço.

O elemento <issuedTokenAuthentication> é o repositório para quaisquer certificados de serviço de token seguro. Para adicionar certificados, use os <knownCertificates>. Insira um elemento <add><knownCertificates> para cada certificado, conforme mostrado no exemplo a seguir.

<issuedTokenAuthentication>
  <knownCertificates>
    <add findValue="www.contoso.com"
         storeLocation="LocalMachine"
         storeName="My"
         X509FindType="FindBySubjectName" />
  </knownCertificates>
</issuedTokenAuthentication>

Por padrão, os certificados devem ser obtidos de um serviço de token seguro. Esses certificados "conhecidos" garantem que somente clientes legítimos possam acessar um serviço.

Para examinar as condições necessárias para que um cliente seja autenticado por um serviço federado, bem como mais informações sobre como usar esse elemento de configuração, consulte Como configurar credenciais em um serviço de federação. Para obter mais informações sobre cenários federados, consulte Federação e Tokens Emitidos.

Exemplo

O exemplo a seguir adiciona certificado ao repositório para quaisquer certificados de STS.

<serviceBehaviors>
  <behavior name="myServiceBehavior">
    <serviceCredentials>
      <issuedTokenAuthentication>
        <knownCertificates>
          <add findValue="www.contoso.com"
               storeLocation="LocalMachine"
               storeName="CertificateAuthority"
               x509FindType="FindByIssuerName" />
        </knownCertificates>
      </issuedTokenAuthentication>
    </serviceCredentials>
  </behavior>
</serviceBehaviors>

Confira também