Partager via


Résolution des erreurs d’authentification mutuelle dans Application Gateway

Découvrez comment résoudre les problèmes d’authentification mutuelle lors de l’utilisation d’Application Gateway.

Vue d’ensemble

Une fois l’authentification mutuelle configurée sur Application Gateway, un certain nombre d’erreurs peuvent s’afficher lors d’une tentative d’utilisation de l’authentification mutuelle. Parmi les causes courantes de ces erreurs figurent les suivantes :

  • Chargement d’un certificat ou d’une chaîne de certificats sans certificat d’autorité de certification racine
  • Chargement d’une chaîne de certificats avec plusieurs certificats d’autorité de certification racine
  • Chargement d’une chaîne de certificats contenant uniquement un certificat feuille sans certificat d’autorité de certification
  • Erreurs de validation liées à une incompatibilité de nom unique d’émetteur

Nous allons examiner différents scénarios susceptibles de se produire, ainsi que la manière de résoudre les problèmes qui en découlent. Nous allons ensuite nous intéresser aux codes d’erreur et expliquer les causes probables de certains codes en lien avec l’authentification mutuelle. Tous les échecs d’authentification de certificat client devraient aboutir à un code d’erreur HTTP 400.

Résolution des problèmes liés à la configuration

Vous pouvez être confronté à plusieurs scénarios lorsque vous essayez de configurer l’authentification mutuelle. Nous allons nous pencher sur la manière de déjouer certains des pièges les plus courants.

Certificat auto-signé

Problème

Le certificat client que vous avez chargé est un certificat auto-signé et génère le code d’erreur ApplicationGatewayTrustedClientCertificateDoesNotContainAnyCACertificate.

Solution

Vérifiez que le certificat auto-signé que vous utilisez porte l’extension BasicConstraintsOid = "2.5.29.19", ce qui indique que l’objet peut agir en tant qu’autorité de certification. Cela permet de s’assurer que le certificat utilisé est un certificat d’autorité de certification. Pour plus d’informations sur la génération de certificats clients auto-signés, consultez Certificats clients approuvés.

Résolution des problèmes liés à la connectivité

Vous êtes peut-être parvenu à correctement configurer l’authentification mutuelle, mais vous rencontrez des problèmes lors de l’envoi de requêtes à votre instance Application Gateway. Nous allons aborder certains problèmes courants et solutions dans la section suivante. La propriété sslClientVerify est disponible dans les journaux d’accès de votre instance Application Gateway.

SslClientVerify indique NONE

Problème

La propriété sslClientVerify indique « NONE » dans vos journaux d’accès.

Solution

Cela se produit si le client n’envoie pas de certificat client lors de l’envoi d’une requête à Application Gateway. Cela peut se produire si le client qui envoie la requête à Application Gateway n’est pas correctement configuré pour utiliser des certificats clients. Pour vérifier que la configuration de l’authentification du client sur Application Gateway fonctionne comme prévu, vous pouvez utiliser la commande OpenSSL suivante :

openssl s_client -connect <hostname:port> -cert <path-to-certificate> -key <client-private-key-file> 

L'indicateur -cert correspond au certificat feuille et l’indicateur -key au fichier de clé privée du client.

Pour plus d’informations sur l’utilisation de la commande OpenSSL s_client, consultez la page du manuel correspondante.

SslClientVerify indique FAILED

Problème

La propriété sslClientVerify indique « FAILED » dans vos journaux d’accès.

Solution

Les défaillances peuvent avoir plusieurs causes possibles dans les journaux d’accès. Vous trouverez ci-dessous la liste des causes de défaillance les plus courantes :

  • Impossible d’accéder au certificat d’émetteur : le certificat d’émetteur du certificat client est introuvable. Cela signifie généralement que la chaîne de certificats d’autorité de certification clients approuvés n’est pas terminée sur Application Gateway. Vérifiez que la chaîne de certificats d’autorité de certification cliens approuvés chargée sur Application Gateway est terminée.
  • Impossible d’accéder au certificat d’émetteur local : comme pour le certificat d’émetteur, le certificat d’émetteur du certificat client est introuvable. Cela signifie généralement que la chaîne de certificats d’autorité de certification clients approuvés n’est pas terminée sur Application Gateway. Vérifiez que la chaîne de certificats d’autorité de certification cliens approuvés chargée sur Application Gateway est terminée.
  • Impossible de vérifier le premier certificat : impossible de vérifier le certificat client. Cette erreur se produit lorsque le client présente uniquement le certificat feuille et que son émetteur n’est pas approuvé. Vérifiez que la chaîne de certificats d’autorité de certification cliens approuvés chargée sur Application Gateway est terminée.
  • Impossible de vérifier l’émetteur du certificat client : cette erreur se produit lorsque la configuration VerifyClientCertIssuerDN est définie sur True. Cela se produit généralement lorsque le nom unique de l’émetteur du certificat client ne correspond pas à la propriété ClientCertificateIssuerDN extraite de la chaîne de certificats d’autorité de certification clients approuvés chargée par le client. Pour plus d’informations sur la manière dont Application Gateway extrait la propriété ClientCertificateIssuerDN, consultez Extraction par Application Gateway du nom unique de l’émetteur. Nous vous recommandons de vérifier que vous chargez une chaîne de certificats par fichier vers Application Gateway.
  • Objectif de certificat non pris en charge : vérifiez que le certificat client désigne l’utilisation étendue de la clé pour l’authentification du client (1.3.6.1.5.5.7.3.2). Pour plus d’informations sur la définition de l’utilisation étendue des clés et de l’identificateur d’objet pour l’authentification client, consultez RFC 3280 et RFC 5280.

Pour plus d’informations sur l’extraction de toute la chaîne de certificats d’autorité de certification clients approuvés à charger vers Application Gateway, consultez Extraire des chaînes de certificats d’autorité de certification clients approuvés.

Résolution des codes d’erreur

Si vous constatez l’un des codes d’erreur suivants, vous trouverez ci-dessous plusieurs solutions recommandées pour vous aider à résoudre les problèmes qui en découlent.

Code d’erreur : ApplicationGatewayTrustedClientCertificateMustSpecifyData

Cause

Certaines données de certificat sont manquantes. Le certificat chargé correspond peut-être à un fichier vide, sans aucune donnée de certificat.

Solution

Vérifiez qu’aucune donnée ne manque dans le fichier de certificat chargé.

Code d’erreur : ApplicationGatewayTrustedClientCertificateMustNotHavePrivateKey

Cause

La chaîne de certificats contient une clé privée. La chaîne de certificats ne doit contenir aucune clé privée.

Solution

Vérifiez la chaîne de certificats chargée et supprimez la clé privée qu’elle contient. Rechargez la chaîne sans la clé privée.

Code d’erreur : ApplicationGatewayTrustedClientCertificateInvalidData

Cause

Ce code d’erreur peut avoir deux causes possibles.

  1. L’analyse a échoué en raison de la non-présentation de la chaîne au format qui convient. Application Gateway attend une chaîne de certificats au format PEM, ainsi que des données de certificat individuel délimitées.
  2. L’analyseur n’a rien trouvé à analyser. Le fichier chargé contient peut-être uniquement des délimiteurs, et aucune donnée de certificat.

Solution

En fonction de la cause de cette erreur, deux solutions sont possibles.

  • Vérifiez que la chaîne de certificats chargée est au format qui convient (PEM) et que les données de certificat ont été correctement délimitées.
  • Vérifiez que le fichier de certificat chargé contient les données de certificat en plus des délimiteurs.

Code d’erreur : ApplicationGatewayTrustedClientCertificateDoesNotContainAnyCACertificate

Cause

Le certificat chargé contient uniquement un certificat feuille, sans certificat d’autorité de certification. Le chargement d’une chaîne de certificats avec des certificats d’autorité de certification et un certificat feuille est acceptable dans la mesure où le certificat feuille sera simplement ignoré, mais un certificat doit avoir une autorité de certification.

Solution

Vérifiez que la chaîne de certificats téléchargée ne contient pas uniquement le certificat feuille. L’extension BasicConstraintsOid = "2.5.29.19" doit être présente et indiquer que l’objet peut faire office d’autorité de certification.

Code d’erreur : ApplicationGatewayOnlyOneRootCAAllowedInTrustedClientCertificate

Cause

La chaîne de certificats contient plusieurs certificats d’autorité de certification racine ou ne contient aucun certificat d’autorité de certification racine.

Solution

Les certificats chargés doivent contenir un seul certificat d’autorité de certification racine (et plusieurs certificats d’autorité de certification intermédiaires, si besoin).