<ph type="x-smartling-placeholder"></ph>
Vous consultez la documentation Apigee Edge.
Accédez à la page
Documentation sur Apigee X. En savoir plus
Ce document explique comment valider une chaîne de certificats avant d'importer le certificat dans un keystore ou un Truststore dans Apigee Edge. Le processus repose sur OpenSSL pour valider le certificat et est applicable dans tout environnement où OpenSSL est disponible.
Avant de commencer
Avant de suivre les étapes décrites dans ce document, assurez-vous de bien comprendre les points suivants:
- Si vous ne connaissez pas les chaînes de certificats, consultez la page Chaîne de confiance.
- Si vous ne connaissez pas la bibliothèque OpenSSL, consultez OpenSSL.
- Si vous souhaitez utiliser les exemples de ligne de commande de ce guide, installez ou mettez à jour vers la dernière version du client OpenSSL.
- Assurez-vous que les certificats sont au format PEM. Si les certificats ne sont pas au format PEM, suivez les instructions fournies dans <ph type="x-smartling-placeholder"></ph> Conversion des certificats dans un format compatible pour les convertir au format PEM.
Valider l'objet et l'émetteur du certificat pour la chaîne complète
Pour valider la chaîne de certificats à l'aide de commandes OpenSSL, suivez la procédure décrite dans les sections suivantes:
- Diviser la chaîne de certificats
- Vérifier l'objet et l'émetteur du certificat
- Vérifier l'objet du certificat et le hachage de l'émetteur
- Vérifier l'expiration du certificat
Diviser la chaîne de certificats
Avant de valider le certificat, vous devez diviser la chaîne de certificats en plusieurs en procédant comme suit:
- Connectez-vous au serveur sur lequel le client OpenSSL existe.
- Divisez la chaîne de certificats selon les certificats suivants (si ce n'est pas déjà fait):
-
Certificat d'entité:
entity.pem
-
Certificat intermédiaire:
intermediate.pem
-
Certificat racine:
root.pem
La figure suivante montre un exemple de chaîne de certificats:
Vérifier l'objet et l'émetteur du certificat
Cette section explique comment obtenir l'objet et l'émetteur des certificats, et vérifier que vous disposez d'une chaîne de certificats valide.
-
Exécutez la commande OpenSSL suivante pour obtenir le fichier
Subject
etIssuer
pour chaque certificat de la chaîne à partir deentity
àroot
et vérifiez qu'ils forment une chaîne de certificats appropriée:openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'
Où certificate est le nom du certificat.
-
Vérifiez que les certificats de la chaîne respectent les consignes suivantes:
<ph type="x-smartling-placeholder">
- </ph>
-
Subject
de chaque certificat correspond auIssuer
du précédent certificat dans la chaîne (à l'exception du certificatEntity
). -
Subject
etIssuer
sont les mêmes pour le certificat racine.
Si les certificats de la chaîne respectent ces consignes, la chaîne de certificats est considérée comme complète et valide.
Exemple de validation d'une chaîne de certificats
L'exemple suivant est la sortie des commandes OpenSSL pour un exemple de chaîne de certificats contenant trois certificats:
Certificat d'entité
openssl x509 -text -in entity.pem | grep -E '(Subject|Issuer):' Issuer: C = US, O = Google Trust Services, CN = GTS CA 1O1 Subject: C = US, ST = California, L = Mountain View, O = Google LLC, CN = *.enterprise.apigee.com
Certificat intermédiaire
openssl x509 -text -in intermediate.pem | grep -E '(Subject|Issuer):' Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign Subject: C = US, O = Google Trust Services, CN = GTS CA 1O1
Certificat racine
openssl x509 -text -in root.pem | grep -E '(Subject|Issuer):' Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign Subject: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
Dans l'exemple ci-dessus, notez ce qui suit:
-
Le
Subject
du certificat intermédiaire correspond à l'Issuer
du certificat de l'entité. -
Le
Subject
du certificat racine correspond auIssuer
de le certificat intermédiaire. -
Les valeurs
Subject
etIssuer
sont identiques dans le certificat racine.
À partir de l'exemple ci-dessus, vous pouvez confirmer que l'exemple de chaîne de certificats est valide.
-
Vérifier l'objet du certificat et le hachage de l'émetteur
Cette section explique comment obtenir le hachage de l'objet et de l'émetteur des certificats. pour vérifier que vous disposez d'une chaîne de certificats valide.
Il est toujours recommandé de vérifier la séquence de hachage des certificats, car cela peut vous aider à l'identification de problèmes tels que le nom commun (CN) du certificat, les espaces ou des caractères spéciaux.
- Exécutez la commande OpenSSL suivante pour obtenir la séquence
hash
pour chaque dans la chaîne deentity
àroot
et vérifiez qu'ils former une chaîne de certificats appropriée. - Vérifiez que les certificats de la chaîne respectent les consignes suivantes:
-
Subject
de chaque certificat correspond auIssuer
du précédent certificat de la chaîne (à l'exception du certificatEntity
). -
Subject
etIssuer
sont les mêmes pour le certificat racine. -
Le
subject hash
du certificat intermédiaire correspond auissuer hash
de l'entité certificat. -
Le
subject hash
du certificat racine correspond auissuer hash
du certificat de l'émetteur. -
Les valeurs
subject
etissuer hash
sont identiques dans le certificat racine.
openssl x509 -hash -issuer_hash -noout -in certificate
Où certificate est le nom du certificat.
Si les certificats de la chaîne respectent ces consignes, la chaîne de certificats est sont considérées comme complètes et valides.
Validation d'un exemple de chaîne de certificat via une séquence de hachage
L'exemple suivant est la sortie des commandes OpenSSL pour un exemple de chaîne de certificats. contenant trois certificats:
openssl x509 -in entity.pem -hash -issuer_hash -noout c54c66ba #this is subject hash 99bdd351 #this is issuer hash
openssl x509 -in intermediate.pem -hash -issuer_hash -noout 99bdd351 4a6481c9
openssl x509 -in root.pem -hash -issuer_hash -noout 4a6481c9 4a6481c9
Dans l'exemple ci-dessus, notez ce qui suit:
À partir de l'exemple ci-dessus, vous pouvez confirmer que l'exemple de chaîne de certificats est valide.
Vérifier l'expiration du certificat
Cette section explique comment vérifier si tous les certificats de la chaîne sont est arrivé à expiration à l'aide d'une des méthodes suivantes:
- Permet d'obtenir les dates de début et de fin du certificat.
- Obtenez l'état d'expiration.
Date de début et de fin
Exécutez la commande OpenSSL suivante pour obtenir les dates de début et de fin de chaque certificat.
de la chaîne de entity
à root
et vérifiez que tous les certificats
de la chaîne sont en vigueur (la date de début est antérieure à aujourd'hui) et ne sont pas arrivées à expiration.
Exemple de validation de l'expiration d'un certificat par le biais de dates de début et de fin
openssl x509 -startdate -enddate -noout -in entity.pem notBefore=Feb 6 21:57:21 2020 GMT notAfter=Feb 4 21:57:21 2021 GMT
openssl x509 -startdate -enddate -noout -in intermediate.pem notBefore=Jun 15 00:00:42 2017 GMT notAfter=Dec 15 00:00:42 2021 GMT
openssl x509 -startdate -enddate -noout -in root.pem notBefore=Apr 13 10:00:00 2011 GMT notAfter=Apr 13 10:00:00 2022 GMT
État d'expiration
Exécutez la commande OpenSSL suivante pour vérifier si le certificat a déjà expiré ou
arrive à expiration dans N seconds
. Renvoie l'état d'expiration de la
dans le contexte de la date système actuelle.
openssl x509 -checkend <N Seconds> -noout -in certificate
Où certificate est le nom du certificat.
Exemple de validation de l'expiration du certificat via l'option de validation
La commande suivante utilise 0 seconds
pour vérifier si le certificat est déjà émis
expiré ou non:
openssl x509 -checkend 0 -noout -in entity.pem Certificate will not expire
openssl x509 -checkend 0 -noout -in intermediate.pem Certificate will not expire
openssl x509 -checkend 0 -noout -in root.pem Certificate will not expire
Dans cet exemple, le message Certificate will not expire
indique que le
le certificat n'a pas encore expiré.