<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 l'objectif d'un certificat avant de l'importer à un keystore ou à un truststore. Le processus s'appuie sur OpenSSL pour la validation et s'applique dans tout environnement où OpenSSL est disponible.
Les certificats TLS sont généralement émis avec un ou plusieurs objectifs pour lesquels ils peuvent être utilisés. En général, cela permet de restreindre le nombre d'opérations pour lesquelles une clé publique contenait du certificat peuvent être utilisés. L'objectif du certificat est disponible dans extensions de certificat:
- Utilisation de la clé
- Utilisation étendue de la clé
Utilisation de la clé
L'extension d'utilisation de la clé définit l'objectif (par exemple, chiffrement, signature ou signature de certificat) de la clé contenue dans le certificat. Si la clé publique est utilisée pour authentification d'entité, l'extension de certificat doit avoir l'utilisation de la clé Signature numérique :
Les différentes extensions d'utilisation de clés disponibles pour un certificat TLS créé à l'aide de la de l'autorité de certification se déroule comme suit:
- Signature numérique.
- Non-répudiation
- Chiffrement de clé
- Chiffrement des données
- Clé-contrat
- Signature de certificat
- Signature LRC
- Chiffrer seulement
- Déchiffrer seulement
Pour en savoir plus sur ces extensions d'utilisation des clés, consultez RFC 5280, Utilisation de la clé.
Utilisation étendue de la clé
Cette extension indique un ou plusieurs objectifs pour lesquels la clé publique certifiée peut être utilisée, en plus ou à la place des objectifs de base indiqués dans l'extension d'utilisation des clés. Dans général, cette extension n'apparaîtra que dans les certificats d'entité de fin.
Voici quelques extensions d'utilisation étendue des clés courantes:
-
TLS Web server authentication
-
TLS Web client authentication
-
anyExtendedKeyUsage
Une clé étendue peut être critique ou non critique.
- Si l'extension est critique, le certificat ne doit être utilisé que pour la un ou plusieurs buts. Si le certificat est utilisé à d'autres fins, il ne respecte pas les la stratégie de l’AC.
- Si l'extension n'est pas critique, cela indique la ou les finalités prévues de la clé est fournie à titre informatif et n'implique pas que l'autorité de certification limite son utilisation au l'objectif indiqué. Toutefois, les applications qui utilisent des certificats peuvent exiger qu'un utilisateur donné l’objectif doit être indiqué afin que le certificat soit acceptable.
Si un certificat contient à la fois le champ d'utilisation de la clé et le champ d'utilisation étendue des clés en tant que critique, alors les deux champs doivent être traités indépendamment et le certificat peut être utilisé uniquement à des fins satisfaisant les deux valeurs d'utilisation de clés. Toutefois, s'il n'y a pas pouvant satisfaire les deux valeurs d'utilisation des clés, le certificat ne doit pas être utilisé quel que soit le but.
Lorsque vous obtenez un certificat, assurez-vous que l'utilisation des clés est définie pour satisfaire les exigences pour les certificats client ou serveur sans lesquels le handshake TLS échouerait.
Utilisation recommandée et utilisations étendues des clés pour les certificats utilisés dans Apigee Edge
Purpose |
Utilisation de la clé
(obligatoire) |
Utilisation étendue des clés
(facultatif) |
Certificat d'entité du serveur utilisé dans le keystore de l'hôte virtuel Apigee Edge |
|
Authentification du serveur Web TLS |
Certificat d'entité client utilisé dans le truststore de l'hôte virtuel Apigee Edge |
|
Authentification du client Web TLS |
Certificat d'entité du serveur utilisé dans le truststore du serveur cible Apigee Edge |
|
Authentification du serveur Web TLS |
Certificat d'entité client utilisé dans le keystore du serveur cible Apigee Edge |
|
Authentification du client Web TLS |
Certificats intermédiaires et racine |
|
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 en savoir plus sur les extensions d'utilisation des clés et l'utilisation étendue des clés, consultez RFC5280
- Si vous souhaitez utiliser les exemples de ligne de commande de ce guide, installez la dernière version la version du client OpenSSL ;
- Assurez-vous que les certificats sont au format PEM. Si ce n'est pas le cas, <ph type="x-smartling-placeholder"></ph> convertir les certificats au format PEM.
Valider l'objectif du certificat
Cette section décrit les étapes à suivre pour valider l'objectif du certificat.
- Connectez-vous au serveur sur lequel OpenSSL existe.
-
Pour obtenir l'utilisation des clés d'un certificat, exécutez la commande OpenSSL suivante:
openssl x509 -noout -ext keyUsage < certificate
Où certificate est le nom du certificat.
Exemple de résultat
openssl x509 -noout -ext keyUsage < entity.pem X509v3 Key Usage: critical Digital Signature, Key Encipherment openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign
-
Si l'utilisation d'une clé est obligatoire, elle sera définie comme essentielle, comme suit:
openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign
-
Exécutez la commande suivante pour obtenir l'utilisation étendue des clés pour un certificat.
Si l'utilisation étendue des clés n'est pas définie comme critique, il s'agit d'une recommandation et
et non comme un mandat.
openssl x509 -noout -ext extendedKeyUsage < certificate
Où certificate est le nom du certificat.
Exemple de résultat
openssl x509 -noout -ext extendedKeyUsage < entity.pem X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication openssl x509 -noout -ext extendedKeyUsage < intermediate.pem X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication