Comment puis-je créer un fichier PEM à partir d'un certificat SSL ?
Voici les fichiers dont je dispose :
.crt
server.csr
server.key
Comment puis-je créer un fichier PEM à partir d'un certificat SSL ?
Voici les fichiers dont je dispose :
.crt
server.csr
server.key
Vos clés peuvent déjà être au format PEM, mais simplement nommées avec .crt ou .key.
Si le contenu du fichier commence par -----BEGIN
et vous pouvez le lire dans un éditeur de texte :
Le fichier utilise la base64, qui est lisible en ASCII, et non en format binaire. Le certificat est déjà au format PEM. Il suffit de changer l'extension en .pem.
Si le fichier est en binaire :
Pour le server.crt, vous devez utiliser
openssl x509 -inform DER -outform PEM -in server.crt -out server.crt.pem
Pour server.key, utilisez openssl rsa
à la place de openssl x509
.
Le fichier server.key est probablement votre clé privée, et le fichier .crt est le certificat x509 retourné, signé.
Si c'est pour un serveur Web et que vous ne pouvez pas spécifier le chargement d'une clé privée et publique séparée :
Vous devrez peut-être concaténer les deux fichiers. Pour cela, utilisez :
cat server.crt server.key > server.includesprivatekey.pem
Je vous recommande de nommer les fichiers avec "includesprivatekey" pour vous aider à gérer les permissions que vous gardez avec ce fichier.
Vérifiez le format du server.key. J'ai seulement supposé que c'était RSA. Mais la lecture de la première ligne du fichier vous le dira probablement.
Je vous informe que cat server.crt server.key > server.pem
ne place pas le commentaire ouvert sur sa propre ligne, ce qui semble être une exigence. Le courrier m'a fait vivre un enfer et il m'a fallu des heures pour comprendre ce qui n'allait pas.
Merci Graham. Les différents outils génèrent les fichiers différemment et, en fin de compte, une certaine vérification est utile. Lorsque j'ai effectué ces étapes, les fichiers se terminaient par un saut de ligne, par exemple.
J'avais besoin de faire cela pour un ELB AWS. Après avoir été battu par le dialogue à plusieurs reprises, j'ai finalement trouvé ce qui a fonctionné pour moi :
openssl rsa -in server.key -text > private.pem
openssl x509 -inform PEM -in server.crt > public.pem
Merci NCZ
Edit : Comme le dit @floatingrock
Avec AWS, n'oubliez pas de faire précéder le nom du fichier de la mention file://
. Donc ça ressemblera à :
aws iam upload-server-certificate --server-certificate-name blah --certificate-body file://path/to/server.crt --private-key file://path/to/private.key --path /cloudfront/static/
http://docs.aws.amazon.com/cli/latest/reference/iam/upload-server-certificate.html
Avec AWS, n'oubliez pas de faire précéder le nom du fichier de la mention file://
. Donc ça ressemblera à : aws iam upload-server-certificate --server-certificate-name blah --certificate-body file://~/Desktop/server.crt --private-key file://~/Desktop/private.key --path /cloudfront/static/
La deuxième commande ne fait rien si votre entrée est un fichier pem, donc en supposant que c'est le cas, vous avez seulement besoin de la première commande
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
4 votes
Dans l'autre sens : Convertir
.pem
à.crt
y.key
.