Obtenir le fichier .cer à partir du fichier .pem

13

J'ai généré une clé privée RSA à l'aide de la commande ci-dessous:

openssl genrsa -out privkey.pem 2048

Et créé un certificat auto-signé en utilisant la commande ci-dessous:

openssl req -new -x509 -key privkey.pem -out cacert.pem -days 3650

Maintenant, j'essaie de convertir le fichier cacert .pem en certificat .cer

Des idées?

Devarshi
la source
1
Selon support.ssl.com/Knowledgebase/Article/View/19/0/… .pem est un encodage et .cerune extension. En bref: un .cerfichier peut contenir à la fois un PEMou un DERencodage. De quoi avez-vous besoin exactement? (Le lien devrait vous aider.)
Fabian
J'ai trouvé la commande pour créer un certificat auto-signé à partir de ce lien: openssl.org/docs/HOWTO/certificates.txt Voici le texte complet: Si vous ne voulez pas traiter avec une autre autorité de certification, ou si vous voulez simplement créer un certificat de test pour toi. Cela est similaire à la création d'une demande de certificat, mais crée un certificat au lieu d'une demande de certificat.
Devarshi
Cela ne répond pas vraiment à ce dont vous avez besoin: quel est le but du certificat que vous générez? Peut-être un serveur HTTPS? Ou l'authentification personnelle pour une application? Mais je pense que vous avez déjà obtenu suffisamment de bonnes réponses ci-dessous pour ce que vous avez demandé.
Fabian
Le scénario est le suivant: nous créons une paire de clés publique-privée dans l'application Android et nous devons partager la clé publique avec une application iOS, le seul moyen que j'ai trouvé de la partager est via un certificat auto-signé. Les API iOS extraient la clé publique du certificat avec cette extension (un exemple): some_certificate.cer. Pour l'instant, j'essaie de générer some_certificate.cer via le terminal et de valider s'il est capable d'en extraire la clé publique et d'effectuer le cryptage en utilisant la même chose.
Devarshi
Je ne peux pas vous aider avec des trucs iOS. Mais je crois comprendre que l'extension .cer n'est utilisée que par Microsoft. Si les réponses ci-dessous ne vous aident pas, vous voudrez peut-être demander dans un endroit lié à la programmation iOS.
Fabian

Réponses:

37

Vous pouvez utiliser la commande suivante:

openssl x509 -inform PEM -in cacert.pem -outform DER -out certificate.cer
cioby23
la source
2

.cer est un type de fichier pour l'encodage DER ou Base64, si je me souviens bien.

openssl x509 -in cacert.pem -out cacert.cer -inform pem -outform der pour le format DER.

marque
la source
1

L'extension réelle n'a pas d'importance pour les certificats. Habituellement, les fichiers .pem ont un certificat x509 au format encodé en base64. Les fichiers .cer peuvent être encodés en base64 ou DER (Windows reconnaîtra l'un ou l'autre). En fonction de votre application, vous devrez déterminer le format de certificat requis par l'application.

Pour convertir entre l'encodage base64 (PEM) et DER:

openssl x509 -in cert.pem -outform pem -outform der -out cert.cer
mtak
la source