Partager via


Valider le certificat client

S’APPLIQUE À : Tous les niveaux de Gestion des API

Utilisez la stratégie validate-client-certificate pour faire en sorte qu’un certificat présenté par un client à une instance de gestion des API corresponde aux règles de validation et revendications spécifiées, comme l’objet ou émetteur pour une ou plusieurs identités de certificat.

Pour être considéré comme valide, un certificat client doit répondre à toutes les règles de validation définies par les attributs de l’élément de niveau supérieur et correspondre à toutes les revendications définies pour au moins une des identités définies.

Utilisez cette stratégie pour vérifier les propriétés de certificat entrant par rapport aux propriétés souhaitées. Utilisez également cette stratégie pour remplacer la validation par défaut des certificats clients dans les cas suivants :

  • Si vous avez téléchargé des certificats d’autorité de certification personnalisés pour valider les demandes des clients auprès de la passerelle gérée
  • Si vous avez configuré des autorités de certification personnalisées pour valider les demandes des clients auprès d’une passerelle auto-gérée

Pour plus d’informations sur les certificats d’autorité de certification personnalisés et les autorités de certification, consultez Guide pratique pour ajouter un certificat d’autorité de certification personnalisé dans la Gestion des API Azure.

Notes

Définissez les éléments enfants et de stratégie dans l’ordre fourni dans l’instruction de stratégie. En savoir plus sur comment définir ou modifier des stratégies du service Gestion des API.

Instruction de la stratégie

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

Attributs

Nom Descriptif Obligatoire Valeur par défaut
validation-révocation Booléenne. Spécifie si le certificat est validé par rapport à la liste de révocation en ligne. Les expressions de stratégie ne sont pas autorisées. Non true
validate-trust Booléenne. Spécifie si la validation doit échouer si la chaîne de cas ne peut pas être générée correctement pour une autorité de certification approuvée. Les expressions de stratégie ne sont pas autorisées. Non true
validate-not-before Booléenne. Valide la valeur par rapport à l’heure actuelle. Les expressions de stratégie ne sont pas autorisées. Non true
validate-not-after Booléenne. Valide la valeur par rapport à l’heure actuelle. Les expressions de stratégie ne sont pas autorisées. Non true
ignore-error Booléenne. Spécifie si la stratégie doit aller au gestionnaire suivant ou passer à l’erreur en cas d’échec de la validation. Les expressions de stratégie ne sont pas autorisées. Non false

Éléments

Élément Descriptif Obligatoire
Identités Ajoutez cet élément pour spécifier jusqu’à 10 identity sous-éléments avec des revendications définies sur le certificat client. Non

attributs d’identité

Nom Descriptif Obligatoire Valeur par défaut
Empreinte Empreinte numérique SHA-1 du certificat. Non N/A
numéro de série Numéro de série du certificat. Non N/A
common-name Nom commun du certificat (partie de la chaîne d’objet). Non N/A
Objet Chaîne d’objet. Doit suivre le format de nom unique, qui se compose d’attributs de nom séparés par des virgules, par exemple « CN=MyName, OU=MyOrgUnit, C=US... ». Non N/A
dns-name Valeur de l’entrée dnsName à l’intérieur de l’autre nom de la revendication. Non N/A
émetteur-objet Objet de l’émetteur. Doit suivre le format du nom unique. Non N/A
empreinte de l’émetteur Empreinte numérique SHA-1 de l’émetteur. Non N/A
issuer-certificate-id Identificateur de l’entité de certificat existante représentant la clé publique de l’émetteur. S’exclut mutuellement avec les autres attributs de l’émetteur. Non N/A

Utilisation

Exemples

L’exemple suivant valide un certificat client pour qu’il corresponde aux règles de validation par défaut de la stratégie et vérifie si le nom de l’objet et de l’émetteur correspondent aux valeurs spécifiées.

<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, Inc.", CN=*.contoso.com"
            issuer-subject="C=BE, O=FabrikamSign nv-sa, OU=Root CA, CN=FabrikamSign Root CA" />
    </identities>
</validate-client-certificate> 

L’exemple suivant effectue une validation plus stricte en vérifiant si l’empreinte numérique de l’objet et l’empreinte numérique de l’émetteur correspondent aux valeurs spécifiées.

<validate-client-certificate 
    validate-revocation="true" 
    validate-trust="true" 
    validate-not-before="true" 
    validate-not-after="true" 
    ignore-error="false">
    <identities>
        <identity
            thumbprint="AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00"
            issuer-thumbprint="BB22CC33DD44EE55FF66AA77BB88CC99DD00EE11" />
    </identities>
</validate-client-certificate> 

Pour plus d’informations sur l’utilisation des stratégies, consultez :