Validar um certificado de cliente

APLICA-SE A: todas as camadas do Gerenciamento de API

Use a política validate-client-certificate para impor que um certificado apresentado por um cliente a uma instância de Gerenciamento de API corresponda a regras de validação e declarações especificadas como assunto ou emissor para uma ou mais identidades de certificado.

Para ser considerado válido, um certificado de cliente deve corresponder a todas as regras de validação definidas pelos atributos no elemento de nível superior, e corresponder a todas as declarações definidas para pelo menos uma das identidades definidas.

Use essa política para verificar as propriedades do certificado de entrada em relação às propriedades desejadas. Além disso, use essa política para substituir a validação padrão de certificados de cliente nesses casos:

  • Se você carregou certificados de autoridade de certificação personalizados para validar solicitações do cliente para o gateway gerenciado
  • Se você configurou autoridades de certificação personalizadas para validar solicitações de cliente para um gateway autogerenciado

Para obter mais informações sobre certificados de autoridade de certificação personalizados e autoridades de certificação, consulte Como adicionar um certificado de autoridade de certificação personalizado no Gerenciamento de API do Azure.

Observação

Defina os elementos da política e os elementos filho na ordem fornecida na declaração da política. Saiba mais sobre como definir e editar as políticas de Gerenciamento de API.

Declaração de política

<validate-client-certificate 
    validate-revocation="true | false"
    validate-trust="true | false" 
    validate-not-before="true | false" 
    validate-not-after="true | false" 
    ignore-error="true | false">
    <identities>
        <identity
            thumbprint="certificate thumbprint"
            serial-number="certificate serial number"
            common-name="certificate common name"
            subject="certificate subject string"
            dns-name="certificate DNS name"
            issuer-subject="certificate issuer"
            issuer-thumbprint="certificate issuer thumbprint"
            issuer-certificate-id="certificate identifier"/>
    </identities>
</validate-client-certificate> 

Atributos

Name Descrição Obrigatório Padrão
validate-revocation Booliano. Especifica se o certificado é validado com base na lista de revogação online. Expressões de política não são permitidas.  Não true
validate-trust Booliano. Especifica se a validação deve falhar caso a cadeia não possa ser criada com êxito para a AC confiável. Expressões de política não são permitidas. Não true
validate-not-before Booliano. Valida o valor em relação à hora atual. Expressões de política não são permitidas. Nenhum true
validate-not-after Booliano. Valida o valor em relação à hora atual. Expressões de política não são permitidas. Nenhum true
ignore-error Booliano. Especifica se a política deve prosseguir para o próximo manipulador ou pular para em erro após a validação com falha. Expressões de política não são permitidas. Não false

Elementos

Elemento Descrição Obrigatório
identidades Adicione esse elemento para especificar um ou mais elementos identity com declarações definidas no certificado do cliente. Não

atributos de identidade

Nome Descrição Obrigatório Padrão
thumbprint Impressão digital do certificado. Não N/D
serial-number Número de série do certificado. Não N/D
common-name Nome comum do certificado (parte da cadeia de caracteres Assunto). Não N/D
subject Cadeia de caracteres Assunto. Deve seguir o formato de Nome Diferenciado. Não N/D
dns-name Valor da entrada dnsName dentro da declaração Nome Alternativo da Assunto. Não N/D
issuer-subject Assunto do emissor. Deve seguir o formato de Nome Diferenciado. Não N/D
issuer-thumbprint Impressão digital do emissor. Não N/D
issuer-certificate-id Identificador da entidade de certificado existente que representa a chave pública do emissor. Mutuamente exclusivo com outros atributos do emissor. Não N/D

Uso

Exemplo

O exemplo a seguir valida um certificado de cliente para corresponder às regras de validação padrão da política e verifica se o assunto e o nome do emissor correspondem aos valores especificados.

<validate-client-certificate 
    validate-revocation="true" 
    validate-trust="true" 
    validate-not-before="true" 
    validate-not-after="true" 
    ignore-error="false">
    <identities>
        <identity
            subject="C=US, ST=Illinois, L=Chicago, O=Contoso Corp., CN=*.contoso.com"
            issuer-subject="C=BE, O=FabrikamSign nv-sa, OU=Root CA, CN=FabrikamSign Root CA" />
    </identities>
</validate-client-certificate> 

Para obter mais informações sobre como trabalhar com políticas, consulte: