Jessaie de générer une paire de clés privée-publique et de convertir la clé publique en un certificat qui peut être ajouté dans mon truststore.
Pour générer une & clé publique privée: openssl rsa -in private.pem -outform PEM -pubout -out public_key.pem
Maintenant, je Jessaye de convertir ceci en certificat:
openssl x509 -outform der -in public_key.pem -out public.cer
Mais jobtiens une erreur:
7962:error:0906D06C:PEM routines:PEM_read_bio:no start line:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.30.2/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE
Tous les tutoriels montrent que je dois convertir pem en crt avant de lajouter à un truststore.
Réponse
Vous ne pouvez pas » convertir « une clé publique en certificat. Un certificat comprend la clé publique mais il comprend également plus dinformations comme le sujet, lémetteur, la date de validité du certificat, etc. Et un certificat est signé par lémetteur. Ainsi, ce dont vous auriez besoin à la place est de créer une demande de signature de certificat (CSR) qui inclut la clé publique mais inclut également toutes les informations supplémentaires. Ce CSR doit ensuite être signé par une autorité de certification (CA) qui aboutit alors au certificat.
Pour créer un simple certificat auto-signé qui nest approuvé par aucun navigateur, voir Comment créer un certificat auto-signé avec openssl? .
Commentaires
- Donc dans cet exemple: openssl req -x509 -newkey rsa: 4096 -keyout key.pem -out cert.pem -days 365 key.pem contiendra à la fois la clé privée et la clé publique?
- @ user1692342: Je ' ne sais pas comment la question dans le commentaire se rapporte à la question dorigine. Mais: key.pem est la clé privée qui inclut la clé publique et la clé publique est également incluse dans cert.pem.
Réponse
Vous ne pouvez pas convertir une clé publique en certificat.
Les commandes dorigine ne fonctionneront pas car le format de fichier / codage PEM sattend à contenir le texte du certificat chiffré comme ci-dessous:
—– BEGIN CERTIFICATE —–
Données du certificat ici
—– END CERTIFICATE —–
Par conséquent, si vous affichez le fichier .PEM dorigine et voyez autre chose (comme BEGIN RSA …), alors cest incorrect.
Maintenant, selon le titre du fil, vous cherchent à convertir un PEM en un format de fichier CRT . Notez que les certificats x509 peuvent être dans deux encodages – DER et PEM. De plus, PEM peut être au format .CRT, .CER et également .PEM.
Par conséquent, si vous voyez cette erreur, il y a aussi une chance que vous traitiez un certificat encodé DER comme un certificat encodé PEM. Vous pouvez essayer de voir sil est réellement encodé en DER en suivant les instructions de cette page .