Certificat p12 pem
Par PlaceOweb le dimanche, août 11 2013, 10:17 - Système - Lien permanent
- Convertir un .p12 en .pem (depuis certificat.p12)
- Convertir un .pem en .p12 (depuis certificat.pem)
Vous avez le certificat .p12 fourni, on le converti en .pem ou .key ou .crt
Options de OpenSSL pkcs12
OpenSSL for Windows : http://www.openssl.org/related/bina... -> http://www.slproweb.com/products/Wi... -> Win64 OpenSSL v1.0.1e Light
>C:\OpenSSL-Win64\bin\openssl.exe pkcs12 ? Usage: pkcs12 [options] where options are -nodes don't encrypt private keys -out outfile output filename -nocerts don't output certificates. -clcerts only output client certificates. -cacerts only output CA certificates. -nokeys don't output private keys. -info give info about PKCS#12 structure.
Exportation de la clé privé depuis le certificat .p12 fourni
>C:\OpenSSL-Win64\bin\openssl.exe pkcs12 -in "D:\certificat.fourni.p12" -nocerts -nodes -out certificat.key
Génération du fichier "certificat.key" contenant => Bag Attributes + friendlyName + localKeyID + -----BEGIN PRIVATE KEY-----
Exportation de la clé privé et du certificat depuis le certificat .p12 fourni
>C:\OpenSSL-Win64\bin\openssl.exe pkcs12 -in "D:\certificat.fourni.p12" -cacerts -nodes -out certificat.key.crt.pem
Génération du fichier "certificat.key.crt.pem" contenant => Bag Attributes + friendlyName + localKeyID + -----BEGIN PRIVATE KEY----- + Bag Attributes + friendlyName + localKeyID + subject + issuer + -----BEGIN CERTIFICATE-----
Le certificat devrait ressembler par exemple au certificat crt de tcpdf.
Ce fichier, vous permettra par exemple une utilisation sur un client PHP afin de vous connecter à un serveur sous SSL. Par exemple pour un Web Service :
$optionsSOAP = array( //... # Pour les identifications à l'aide d'un certificat d'un client HTTPS, utilisez les options local_cert et passphrase. ,'local_cert' => __DIR__ . DIRECTORY_SEPARATOR . '../certificat.key.crt.pem' // ,'passphrase' => $passphrase //... ); $clientSOAP = new SoapClient($wsdl,$optionsSOAP);
Lire avec OpenSSL le contenu du certificat en format texte (incluant les date de validité du certificat)
>C:\OpenSSL-Win64\bin\opens unknown option ? usage: x509 args -text - print the certificate in text form
>C:\OpenSSL-Win64\bin\openssl.exe x509 -text -in certificat.key.crt.pem ... Validity Not Before: Aug 7 10:39:08 2011 GMT Not After : Aug 6 10:39:08 2015 GMT ...
Lister et vérifier le contenu d'un certificat.p12
Lister un alias
>"C:\Program Files\Java\jre7\bin\keytool" -list -v -alias mon-alias-attendu -keystore certificat.fourni.p12 -storetype pkcs12 erreur keytool : java.lang.Exception: L'alias <mon-alias-attendu > n'existe pas
Tout lister
>"C:\Program Files\Java\jre7\bin\keytool" -list -v -keystore certificat.fourni.p12 -storetype pkcs12 Entrez le mot de passe du fichier de clÚs : ***************** WARNING WARNING WARNING ***************** * L'intÚgritÚ des informations stockÚes dans votre fichier de clÚs * * n'a PAS ÚtÚ vÚrifiÚe. Pour cela, * * vous devez fournir le mot de passe de votre fichier de clÚs. * ***************** WARNING WARNING WARNING ***************** Type de fichier de clÚs : PKCS12 Fournisseur de fichier de clÚs : SunJSSE Votre fichier de clÚs d'accÞs contient 1 entrÚe Nom d'alias : alias-fourni Date de crÚation : 14 ao¹t 2011 Type d'entrÚeá: SecretKeyEntry ******************************************* *******************************************
Lister un alias existant
>"C:\Program Files\Java\jre7\bin\keytool" -list -v -alias alias-fourni -keystore certificat.fourni.p12 -storetype pkcs12 Nom d'alias : alias-fourni Date de crÚation : 14 ao¹t 2011 Type d'entrÚeá: PrivateKeyEntry Longueur de cha¯ne du certificat : 1 Certificat1: PropriÚtaire : CN=xxx, OU=yyy, O=zzz, C=FR Emetteur : CN=xxx, OU=yyy, OU=zzz, O=zzz, C=FR NumÚro de sÚrie : 3a8eb81fbd1f6803196d6654726717aee20adf5a Valide du : Wed Aug 07 12:39:08 CEST 2011 au : Mon Aug 06 12:39:08 CEST 2015 Empreintes du certificat : MD5: 67:30:2A:25:A2:F9:17:32:10:6B:99:CA:B1:F1:9B:65 SHA1 : AF:13:46:C3:EE:B1:E4:ED:88:96:43:1C:D6:F4:7B:62:20:56:6C:D1 SHA256 : B4:62:32:C9:6C:AA:9C:18:49:7E:5C:87:DB:C3:D8:30:1B:37:2D:FA:FC:80:8D:37:83:74:24:31:AF:8C:26:90 Nom de l'algorithme de signature : SHA1withRSA Version : 3
Vous avez le certificat .pem fourni, on le converti en .p12
>C:\OpenSSL-Win64\bin\openssl.exe pkcs12 -export -inkey certificat.fourni-key.pem -in certificat.fourni-cert.pem -out certificat.generer.p12 -name "mon-alias"
Ressources
Convertir un certificat de PKCS12 en PEM format ou vice-versa
- Conversion de PKCS12 en PEM : obtenir la clé privée et otenir votre certificat
- Conversion de PEM en PKCS12 : openssl pkcs12 -export -out certif.p12 -inkey userkey.pem -in usercert.pem
Certificats
- Format PEM : Fichier ASCII et il y a '-----BEGIN CERTIFICATE-----'
- Format DER : Format binaire
- Convertir un certificat .p12/.pfx (format PKCS12) en PEM (demande du mot de passe d'import). Ce fichier ne contient pas la clé privée
- openssl pkcs12 -clcerts -nokeys -in certificat.p12 -out certificat.pem
- Sortir la clé privée d'un fichier .p12/.pfx en PEM (demande du mot de passe d'import)
- openssl pkcs12 -in certificat.p12 -nocerts -nodes -out certificat.key
- Créer le .p12
- openssl pkcs12 -export -in certificat.pem -inkey certificat.key -out certificat.p12