Convertir des certificats dans un format compatible

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Ce document explique comment convertir le certificat TLS et la clé privée associée aux formats PEM ou PFX (PKCS #12).

Apigee Edge ne peut stocker que des certificats au format PEM ou PFX dans les keystores et les Truststores. La procédure à suivre pour convertir des certificats de n'importe quel format existant aux formats PEM ou PFX repose sur le kit d'outils OpenSSL et est applicable à tous les environnements où OpenSSL est disponible.

Avant de commencer

Avant de suivre la procédure décrite dans ce document, assurez-vous de bien comprendre les sujets suivants:

  • Si vous ne connaissez pas bien le format PEM ou PFX, consultez la section À propos de TLS/SSL.
  • Si vous ne connaissez pas bien les formats de certificats, consultez la page Formats des certificats SSL.
  • Si vous ne connaissez pas bien la bibliothèque OpenSSL, consultez la page OpenSSL.
  • Si vous souhaitez utiliser les exemples de ligne de commande de ce guide, installez ou mettez à jour la dernière version du client OpenSSL.

Convertir un certificat du format DER au format PEM

Cette section explique comment convertir un certificat et la clé privée associée du format DER au format PEM.

  1. Transférez le fichier contenant la chaîne de certificats complète (certificate.der) et la clé privée associée (private_key.der) que vous souhaitez convertir au format PEM vers une machine sur laquelle OpenSSL est installé à l'aide de scp, sftp ou de tout autre utilitaire.

    Par exemple, utilisez la commande scp pour transférer le fichier vers le répertoire /tmp du serveur contenant OpenSSL comme suit:

    scp certificate.der servername:/tmp
    scp private_key.der servername:/tmp
    

    servername est le nom du serveur contenant OpenSSL.

  2. Connectez-vous à la machine sur laquelle OpenSSL est installé.
  3. Dans le répertoire dans lequel se trouvent les certificats, exécutez la commande suivante pour convertir le certificat et la clé privée associée du format DER au format PEM :
    openssl x509 -inform DER -in certificate.der -outform PEM -out certificate.pem
    openssl rsa -inform DER -in private_key.der -outform PEM -out private.key
    
  4. Vérifiez que le certificat est converti au format PEM.

Convertir un certificat du format P7B au format PEM

Cette section explique comment convertir des certificats du format P7B au format PEM.

  1. Transférez le fichier contenant la chaîne de certificats complète (certificate.p7b) que vous souhaitez convertir au format PEM vers une machine sur laquelle OpenSSL est installé à l'aide de scp, sftp ou de tout autre utilitaire.

    Par exemple, utilisez la commande scp pour transférer le fichier vers le répertoire /tmp du serveur contenant OpenSSL comme suit:

    scp certificate.p7b servername:/tmp
    

    servername est le nom du serveur contenant OpenSSL.

  2. Connectez-vous à la machine sur laquelle OpenSSL est installé.
  3. Dans le répertoire dans lequel se trouvent les certificats, exécutez la commande suivante pour convertir le certificat au format P7B au format PEM :
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
    
  4. Vérifiez que le certificat est converti au format PEM.

Convertir le certificat du format PFX au format PEM

Cette section explique comment convertir des certificats TLS du format PFX au format PEM.

Lors de la conversion d'un fichier PFX au format PEM, OpenSSL place tous les certificats et la clé privée dans un seul fichier. Vous devez ouvrir le fichier dans un éditeur de texte et copier chaque certificat et clé privée (y compris les instructions BEGIN/END) dans des fichiers texte individuels, puis les enregistrer sous certificate.pfx, Intermediate.pfx (le cas échéant), CACert.pfx et privateKey.key respectivement.

Apigee est compatible avec le format PFX/PKCS #12. Cependant, le format PEM est pratique pour de nombreuses raisons, y compris pour la validation.

  1. Transférez les certificats et la clé privée (certificate.pfx, Intermediate.pfx CACert.pfx, privateKey.key) que vous souhaitez convertir au format PEM vers une machine sur laquelle OpenSSL est installé à l'aide de scp, sftp ou de tout autre utilitaire.

    Par exemple, utilisez la commande scp pour transférer le fichier vers le répertoire /tmp du serveur contenant OpenSSL comme suit:

    scp certificate.pfx servername:/tmp
    

    servername est le nom du serveur contenant OpenSSL.

  2. Connectez-vous à la machine sur laquelle OpenSSL est installé.
  3. Dans le répertoire dans lequel se trouvent les certificats, exécutez la commande suivante pour convertir le certificat au format P7B au format PEM :
    openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
    
  4. Vérifiez que le certificat est converti au format PEM.

Conversion du certificat du format P7B au format PFX

Cette section explique comment convertir des certificats TLS du format P7B au format PFX.

Pour convertir le fichier au format PFX, vous devez également obtenir la clé privée.

  1. Transférez le certificat (certificate.p7b) que vous souhaitez convertir en PFX vers une machine sur laquelle OpenSSL est installé à l'aide de scp, sftp ou de tout autre utilitaire.

    Par exemple, utilisez la commande scp pour transférer le fichier vers le répertoire /tmp du serveur contenant OpenSSL comme suit:

    scp certificate.p7b servername:/tmp
    scp private_key.key servername:/tmp
    

    servername est le nom du serveur contenant OpenSSL.

  2. Connectez-vous à la machine sur laquelle OpenSSL est installé.
  3. À partir du répertoire dans lequel se trouvent les certificats, exécutez les commandes suivantes pour convertir le certificat au format P7B au format PFX, puis exporter les certificats d'entité et les certificats CA intermédiaires dans des fichiers distincts :
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    
    openssl pkcs12 -export -in certificate.cer -inkey private_key.key -out certificate.pfx -certfile CACert.cer
    

Vérifier que le certificat est au format PEM

Cette section explique comment vérifier que le certificat est au format PEM.

  1. Pour afficher le certificat au format PEM, exécutez la commande suivante :
    openssl x509 -in certificate.pem -text -noout
    
  2. Si vous pouvez afficher le contenu du certificat dans un format lisible sans erreur, vous pouvez vérifier qu'il est au format PEM.
  3. Si le certificat est dans un autre format, des erreurs telles que celles-ci s'affichent :
    unable to load certificate
    12626:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: TRUSTED CERTIFICATE View DER encoded Certificate