Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Ce document explique comment valider l'objectif d'un certificat avant de l'importer dans un keystore ou un Truststore. Le processus s'appuie sur OpenSSL pour la validation et est applicable à tous les environnements dans lesquels OpenSSL est disponible.
Les certificats TLS sont généralement émis pour un ou plusieurs objectifs. En règle générale, cela permet de limiter le nombre d'opérations pour lesquelles une clé publique contenue dans le certificat peut être utilisée. L'objectif du certificat est disponible dans les extensions de certificat suivantes:
- Utilisation de la clé
- Utilisation étendue de la clé
Utilisation de la clé
L'extension d'utilisation de 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 l'authentification d'entité, l'extension de certificat doit utiliser la clé Signature numérique.
Les différentes extensions d'utilisation de clés disponibles pour un certificat TLS créé à l'aide du processus de l'autorité de certification sont les suivantes:
- 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 RFC5280, Utilisation des clés.
Utilisation étendue de la clé
Cette extension indique une ou plusieurs finalités pour lesquelles la clé publique certifiée peut être utilisée, en plus ou à la place des finalités de base indiquées dans l'extension d'utilisation de la clé. En général, cette extension n'apparaît que dans les certificats d'entité de fin.
Voici quelques extensions courantes d'utilisation étendue des clés:
-
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é qu'aux fins indiquées. Si le certificat est utilisé à d'autres fins, il enfreint les règles de l'autorité de certification.
- Si l'extension est non critique, cela indique que le but précis de la clé est informatif et n'implique pas que l'autorité de certification limite l'utilisation de la clé au but indiqué. Toutefois, les applications qui utilisent des certificats peuvent nécessiter la mention d'une fin particulière pour que les certificats soient acceptables.
Si un certificat affiche à la fois le champ d'utilisation de clé et le champ d'utilisation étendue de la clé comme critiques, les deux champs doivent être traités indépendamment. Le certificat ne peut être utilisé que dans un but répondant aux deux valeurs d'utilisation des clés. Toutefois, si aucun objectif ne peut satisfaire les deux valeurs d'utilisation de clés, le certificat ne doit être utilisé à aucune fin.
Lorsque vous obtenez un certificat, assurez-vous que l'utilisation appropriée des clés est définie pour répondre aux exigences des certificats client ou serveur sans lesquelles le handshake TLS échouerait.
Utilisation recommandée et étendues des clés pour les certificats utilisés dans Apigee Edge
Purpose |
Utilisation des clés
(obligatoire) |
Utilisation étendue des clés
(facultatif) |
Certificat d'entité serveur utilisé dans le keystore d'un hôte virtuel Apigee Edge |
|
Authentification du serveur Web TLS |
Certificat d'entité client utilisé dans le truststore d'Apigee Edge de l'hôte virtuel |
|
Authentification du client Web TLS |
Certificat d'entité serveur utilisé dans le truststore d'Apigee Edge du serveur cible |
|
Authentification du serveur Web TLS |
Certificat d'entité client utilisé dans le keystore d'Apigee Edge du serveur cible |
|
Authentification du client Web TLS |
Certificats intermédiaires et racine |
|
Avant de commencer
Avant de suivre la procédure décrite dans ce document, assurez-vous de bien comprendre les sujets suivants:
- Si le concept de chaîne de certificat ne vous est pas familier, consultez la section Chaîne de confiance.
- Si vous ne connaissez pas bien la bibliothèque OpenSSL, consultez la page OpenSSL.
- Si vous souhaitez en savoir plus sur les extensions d'utilisation des clés et l'utilisation étendue des clés, consultez le document RFC5280.
- Si vous souhaitez utiliser les exemples de ligne de commande de ce guide, installez ou mettez à jour la dernière version du client OpenSSL
- Assurez-vous que les certificats sont au format PEM. Si ce n'est pas le cas, convertissez-les 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 de la clé 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 de la clé pour un certificat.
Si l'utilisation étendue des clés n'est pas définie comme critique, il s'agit d'une recommandation et non d'une obligation.
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