2017-06-12 2 views
0

J'ai rencontré un problème de génération CSR que je n'arrive pas à expliquer et je me demandais si quelqu'un pouvait m'aider avec ma commande ou me dire ce que je produisais.Création d'un CSR avec une clé au format PEM

Je pense que je génère des certificats CRT au format PEM, mais il semble que ma clé ne soit pas au format PEM!

Voici ce que je fais, et ce que je reçois. créer un CSR avec:

openssl req -nodes -new -newkey rsa:2048 -sha256 -out test.csr

Ce 2 fichiers: générer privkey.pem et test.csr

Maintenant, quand je tente de mettre à jour certains serveurs, ils se plaignent que mon La clé privée n'est pas au format PEM. nginx et apache semblent heureux avec ma clé.

Quand je puis convertir la clé avec:

openssl rsa -in privkey.pem -out privkey.rsa.pem

Ça marche!?!

vimdiff me montre la différence dans les fichiers visuellement, et on peut voir que non seulement la rubrique différente, mais le contenu est également modifié (après les 4 premiers caractères)

Et donc ma question

est la clé créée au format DER-PEM, même si je spécifie de ne pas utiliser DER dans la ligne de création?

+1

1) Cela devrait probablement être demandé sur superuser.com. 2) PEM n'est pas vraiment un format en soi, c'est juste un suffixe de métaformat/nom de fichier couramment utilisé pour base * codé * truc * de divers formats. La commande 'req' produit un fichier PEM au format de clé privée RSA openssl-owner. La commande 'rsa' convertit ensuite ceci au format de clé privée PKCS-8 plus communément accepté. –

+0

La clé privée est au format PEM. Un simple «chat» le vérifierait pour vous. En relation, voir [Comment signer une demande de signature de certificat avec votre autorité de certification] (http://stackoverflow.com/a/21340898/608639) et [Comment créer un certificat auto-signé avec openssl?] (Http: // stackoverflow.com/q/10175812/608639) Le premier crée un CSR. – jww

Répondre

0

La seule façon que j'ai trouvé pour générer une clé au format RSA est d'abord créer le fichier clé avec

openssl genrsa -out ./yourkeyfile.key 2048 

puis utilisez le fichier pour créer un CSR avec

openssl req -new -sha256 -key yourkeyfile.key -out yourcsrfile.csr 

Si vous utilisez la commande d'une ligne le fichier de clés est créé au format DER.

openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout yourkeyfile.key -out yourcsrfile.csr 
+0

Le test avec openssl modulus et md5 confirme que les deux clés sont valides pour le CSR. –