Vous consultez la documentation Apigee Edge.
Accédez à la
documentation**Apigee X**. info
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 s'applique à tout environnement dans lequel OpenSSL est disponible.
Les certificats TLS sont généralement émis avec un ou plusieurs objectifs pour lesquels ils peuvent être utilisés. 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 la clé définit l'objectif (par exemple, le chiffrement, la signature ou la signature du certificat) de la clé contenue dans le certificat. Si la clé publique est utilisée pour l'authentification de l'entité, l'extension de certificat doit avoir l'utilisation de la clé Signature numérique.
Les différentes extensions d'utilisation de la clé disponibles pour un certificat TLS créé à l'aide du processus d'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 de la clé, consultez la section RFC5280, Key Usage.
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 de la clé. En général, cette extension n'apparaît que dans les certificats d'entité finale.
Voici quelques extensions d'utilisation étendue de la clé 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 l'objectif ou les objectifs indiqués Si le certificat est utilisé à une autre fin, il enfreint la règle de l'autorité de certification.
- Si l'extension est non critique, elle indique que l'objectif ou les objectifs prévus de la clé sont informatifs et n'impliquent pas que l'autorité de certification limite l'utilisation de la clé à l' objectif indiqué. Toutefois, les applications qui utilisent des certificats peuvent exiger qu'un objectif particulier soit indiqué pour que le certificat soit acceptable.
Si un certificat contient à la fois le champ d'utilisation de la clé et le champ d'utilisation étendue de la clé comme étant critiques, les deux champs doivent être traités indépendamment, et le certificat ne peut être utilisé que pour un objectif qui satisfait les deux valeurs d'utilisation de la clé. Toutefois, s'il n'existe aucun objectif pouvant satisfaire les deux valeurs d'utilisation de la clé, ce certificat ne doit être utilisé à aucune fin.
Lorsque vous vous procurez un certificat, assurez-vous qu'il dispose de l'utilisation de la clé appropriée définie pour répondre aux exigences des certificats client ou serveur, sans quoi le handshake TLS échouerait.
Utilisation de la clé et utilisations étendues de la clé recommandées pour les certificats utilisés dans Apigee Edge
| Purpose |
Utilisation de la clé
(obligatoire) |
Utilisation étendue de la clé
(facultatif) |
| Certificat d'entité 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é 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 racines |
|
Avant de commencer
Avant de suivre les étapes décrites dans ce document, assurez-vous de bien comprendre les sujets suivants :
- Si vous ne connaissez pas bien les chaînes de certificats, consultez la section Chaîne de confiance.
- Si vous ne connaissez pas bien la bibliothèque OpenSSL, consultez la section OpenSSL.
- Pour en savoir plus sur les extensions d'utilisation de la clé et l'utilisation étendue de la clé, consultez la section RFC5280.
- Si vous souhaitez utiliser les exemples de ligne de commande de ce guide, installez ou mettez à jour la dernière version de 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 permettant de 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 une utilisation de la clé est obligatoire, elle sera définie comme critique 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é d'un certificat.
Si l'utilisation étendue de la clé 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