En utilisant openssl
, j'ai créé une clé privée comme suit:
openssl genrsa -out myKey.pem
Ensuite, pour générer le csr
demandé par l'autorité de certification, j'ai exécuté ce qui suit:
openssl req -new -key myKey.pem -out cert.csr
L'AC a répondu avec un certificat que j'ai stocké dans un fichier nommé myCert.cer
J'aimerais maintenant regrouper les composants nécessaires (clé privée, clé publique (?) Et certificat) en un seul .p12
. Pour ce faire, j'ai exécuté ce qui suit:
openssl pkcs12 -export -out keyStore.p12 -inkey myKey.pem -in myCert.cer
mais je reçois le message d'erreur suivant:
No certificate matches private key
Comment puis-je accomplir cela?
openssl
documentation indique que le fichier fourni en tant que -in
l'argument doit être au format [~ # ~] pem [~ # ~] .
Il s'avère que, contrairement au manuel de l'autorité de certification, le certificat renvoyé par l'autorité de certification que j'ai stocké dans myCert.cer
n'est pas [~ # ~] pem [~ # ~] mais plutôt PKCS7 .
Afin de créer mon .p12
, Je devais d’abord convertir le certificat en [~ # ~] pem [~ # ~] :
openssl pkcs7 -in myCert.cer -print_certs -out certs.pem
et ensuite exécuter
openssl pkcs12 -export -out keyStore.p12 -inkey myKey.pem -in certs.pem