Comment l'obtenir.fichier pem.clé et.crt fichiers?

comment créer un fichier PEM à partir d'un certificat SSL?

ce sont les fichiers que j'ai disponibles:

  • .crt
  • server.csr
  • server.key
481
demandé sur sdgfsdh 2009-06-14 03:23:35

10 réponses

vos clés peuvent déjà être au format PEM, mais simplement nommées avec .crt ou .clé.

si le contenu du fichier commence par -----BEGIN et que vous pouvez le lire dans un éditeur de texte:

le fichier utilise base64, qui est lisible en format 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 serveur.crt, vous utiliseriez

openssl x509 -inform DER -outform PEM -in server.crt -out server.crt.pem

pour serveur.remplacer openssl x509 par openssl rsa .

le serveur.la clé est probablement votre clé privée ,et la.le fichier crt est le certificat retourné, signé, x509.

S'il s'agit d'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. À cette fin:

cat server.crt server.key > server.includesprivatekey.pem

je recommande de nommer les fichiers avec" includesprivatekey " pour vous aider à gérer les permissions que vous conservez avec ce fichier.

644
répondu maxwellb 2017-11-11 12:22:01

j'avais besoin de faire ça pour un bébé. Après avoir été battu par le dialogue de nombreuses fois, finalement c'est 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

éditer: comme @floatingrock dit

avec AWS, n'oubliez pas de préparer le nom du fichier avec file:// . Alors ç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

189
répondu slf 2016-03-23 16:57:48

Un pem fichier contient le certificat et la clé privée. Cela dépend du format de votre certificat / clé, mais c'est probablement aussi simple que cela:

cat server.crt server.key > server.pem
71
répondu sth 2011-11-15 18:47:40

de plus, si vous ne voulez pas qu'il demande une phrase de passe, alors vous devez exécuter la commande suivante:

openssl rsa -in server.key -out server.key
18
répondu rahul 2011-11-15 18:48:11

c'est la meilleure option pour créer .fichier pem

openssl pkcs12 -in MyPushApp.p12 -out MyPushApp.pem -nodes -clcerts
14
répondu GOrozco58 2015-01-25 16:38:38

ce que j'ai observé est: si vous utilisez openssl pour générer des certificats, il capture à la fois la partie texte et la partie base64 certificat dans le fichier crt. Le format PEM strict dit ( définition wiki ) que le fichier doit commencer et se terminer par le début et la fin.

.pem - (Privacy Enhanced Mail) Base64 encoded DER certificate, inclus entre "- - - - - certificat de début - - - - - " et " - - - - - fin Certificat - - - - - "

donc pour certaines bibliothèques (j'ai rencontré ceci en java) qui s'attendent à un format PEM strict, le crt généré échouerait la validation en tant que 'format PEM invalide'.

même si vous copiez ou grep les lignes avec le certificat de début/fin, et collez-les dans un cert.pem file, ça devrait marcher.

voici ce que je fais, pas très propre, mais fonctionne pour moi, fondamentalement il filtre le texte à partir de la ligne de début:

grep-a 1000 BEGIN cert.crt > cert.pem

3
répondu adityalad 2013-02-14 08:52:04

j'essayais de passer de godaddy à app engine. Ce qui a fait l'astuce était d'utiliser cette ligne:

openssl req -new -newkey rsa:2048 -nodes -keyout name.unencrypted.priv.key -out name.csr

exactement tel quel, mais en remplaçant le nom par mon nom de domaine (sans que cela ait vraiment de l'importance)

et j'ai répondu à toutes les questions concernant le nom commun / l'organisation comme www.name.com

Puis j'ai ouvert la rse, copié, collé à go daddy, puis téléchargé, décompressé, de l'accès à la dézippé dossier avec le terminal et entré:

cat otherfilegodaddygivesyou.crt gd_bundle-g2-g1.crt > name.crt

puis j'ai utilisé ces instructions de problème avec Google Apps Custom Domain SSL , qui étaient:

openssl rsa -in privateKey.key -text > private.pem
openssl x509 -inform PEM -in www_mydomain_com.crt > public.pem

exactement tel quel, sauf à la place de privateKey.la clé que j'ai utilisé le nom.chiffrer.priv.key, et au lieu de www_mydomain_com.crt, j'ai utilisé le nom.crt

puis j'ai téléchargé le public.pem vers la console d'administration pour le certificat "PEM encoded X. 509"", et téléchargé le privé.pem pour la "clé privée codée RSA non cryptée PEM"..

.. Et que finalement travaillé.

3
répondu Community 2017-05-23 11:47:29

essayer de télécharger un certificat GoDaddy à AWS j'ai échoué plusieurs fois, mais à la fin c'était assez simple. Pas besoin de convertir n'importe quoi pour .pem. Vous avez juste à être sûr d'inclure le certificat GoDaddy bundle dans le paramètre de chaîne, par exemple

aws iam upload-server-certificate
    --server-certificate-name mycert
    --certificate-body file://try2/40271b1b25236fd1.crt
    --private-key file://server.key
    --path /cloudfront/production/
    --certificate-chain file://try2/gdig2_bundle.crt

et pour supprimer votre précédent téléchargement échoué vous pouvez faire

aws iam delete-server-certificate --server-certificate-name mypreviouscert
3
répondu skensell 2016-06-07 08:32:41
  1. certificat de téléchargement du portail provisoire par appleId,
  2. certificat D'exportation de Key chain and give name (certificats.p12),
  3. ouvrir le terminal et le dossier goto où vous enregistrez les certificats ci-dessus.fichier p12,
  4. exécuter les commandes suivantes:

    a) openssl pkcs12 -in Certificates.p12 -out CertificateName.pem -nodes ,

    b) openssl pkcs12 -in Certificates.p12 -out pushcert.pem -nodes -clcerts

  5. votre .fichier pem prêt "pushcert.pem".
3
répondu iBapu 2017-06-28 12:05:06
  • Ouvrir un terminal.
  • allez dans le dossier où se trouve votre certificat.
  • exécutez la commande ci-dessous en remplaçant le nom par votre certificat.

openssl pkcs12-in YOUR_CERTIFICATE.p12-out YOUR_CERTIFICATE.pem -nœuds -clcerts

  • Espère que cela va fonctionner!!
0
répondu Dhaval H. Nena 2017-07-27 09:40:04