Créer un fichier de certificat .pfx / .p12 à l'aide d'OpenSSL

En cryptographie, le format PKCS#12 ou PFX est un format binaire souvent utilisé pour stocker tous les éléments de la chaîne de confiance, tels que le certificat du serveur, les éventuels certificats intermédiaires et la clé privée dans un seul fichier cryptable. Les fichiers PFX se trouvent généralement avec les extensions .pfx et .p12. Les fichiers PFX sont généralement utilisés sur les machines Windows et macOS pour importer et exporter des certificats et des clés privées.

Exigences

  • La clé privée d'origine utilisée pour le certificat
  • Un fichier PEM (.pem, .crt, .cer) ou PKCS # 7 / P7B (.p7b, .p7c)
  • OpenSSL (inclus avec Linux / Unix et macOS, et facile à installer sur Windows avec Cygwin)

Les commandes ci-dessous illustrent des exemples de création d'un fichier .pfx / .p12 dans la ligne de commande à l'aide d'OpenSSL:

PEM (.pem, .crt, .cer) à PFX

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile more.crt
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile more.crt
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile more.crt

Décomposer la commande:

  • openssl - la commande pour exécuter OpenSSL
  • pkcs12 - l'utilitaire de fichiers pour les fichiers PKCS # 12 dans OpenSSL
  • -export -out certificate.pfx - exporter et enregistrer le fichier PFX sous le nom certificate.pfx
  • -inkey privateKey.key - utilisez le fichier de clé privée privateKey.key comme clé privée à combiner avec le certificat.
  • -in certificate.crt - utilisez certificate.crt comme certificat avec lequel la clé privée sera combinée.
  • -certfile more.crt - Ceci est facultatif, c'est si vous avez des certificats supplémentaires que vous souhaitez inclure dans le fichier PFX.
Après avoir entré la commande, vous serez invité à saisir et à vérifier un mot de passe d'exportation pour protéger le fichier PFX. N'oubliez pas ce mot de passe! Vous en aurez besoin pour exporter les certificats et la clé.
Si vous créez un PFX pour installer sur Azure Web Apps, ou un autre service nécessitant un fichier PFX pour SSL /TLS installation, il est recommandé d'inclure une chaîne de confiance complète dans votre PFX. Vous pouvez le faire en téléchargeant le Apache lien de téléchargement à partir de votre compte SSL.com, et comprenant à la fois votre certificat de site Web et le fichier nommé
ca-bundle-client.crt
ca-bundle-client.crt dans votre fichier PFX. Par exemple:

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile ca-bundle-client.crt
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile ca-bundle-client.crt
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile ca-bundle-client.crt

Lien de téléchargement d'Apache

PKCS # 7 / P7B (.p7b, .p7c) à PFX

Les fichiers P7B ne peuvent pas être utilisés pour créer directement un fichier PFX. Les fichiers P7B doivent être convertis en PEM. Une fois converti en PEM, suivez les étapes ci-dessus pour créer un fichier PFX à partir d'un fichier PEM.

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.crt
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.crt
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.crt

Décomposer la commande:

  • openssl - la commande pour exécuter OpenSSL
  • pkcs7 - l'utilitaire de fichiers pour les fichiers PKCS # 7 dans OpenSSL
  • -print_certs -in certificate.p7b - imprime tous les certificats ou CRL contenus dans le fichier.
  • -out certificate.crt - afficher le fichier en tant que certificate.crt
Remarque : Vous pouvez également utiliser OpenSSL pour extrait les certificats et la clé privée d'un fichier PKCS # 12 / PFX.

Pour plus d'informations pratiques et les dernières nouvelles sur la cybersécurité, abonnez-vous à la newsletter de SSL.com ici : 

vidéo

Merci d'avoir choisi SSL.com! Si vous avez des questions, veuillez nous contacter par e-mail à Support@SSL.com, appel 1-877-SSL-SECURE, ou cliquez simplement sur le lien de discussion en bas à droite de cette page. Vous pouvez également trouver des réponses à de nombreuses questions d'assistance courantes dans notre knowledgebase.

Abonnez-vous à la newsletter de SSL.com

Ne manquez pas les nouveaux articles et mises à jour de SSL.com