Nous essayons de mettre en œuvre certaines fonctionnalités d'un service Web de l'un de nos partenaires. Maintenant, le contenu qui est transmis doit être crypté avec une clé publique que nous devons fournir.
La spécification de sécurité indique que le certificat public doit être la norme X.509. X.509 ne repose-t-il pas sur la méthode de la clé privée/publique? Parce que je n'ai qu'un seul fichier .pem, contenant une clé privée et un certificat, mais pas de clé publique, en utilisant la commande suivante:
openssl req -new -x509 -days 365 -nodes -out ./cert.pem -keyout ./cert.pem
Dois-je modifier la commande pour créer une clé privée et publique?
Les étapes de ligne de commande de base pour générer une clé privée et publique à l'aide d'OpenSSL sont les suivantes
openssl genrsa -out private.key 1024
openssl req -new -x509 -key private.key -out publickey.cer -days 365
openssl pkcs12 -export -out public_privatekey.pfx -inkey private.key -in publickey.cer
Étape 1 - génère une clé privée
Étape 2 - crée un certificat X509 (fichier .cer) contenant votre clé publique que vous téléchargez lors de l'enregistrement de votre application privée (ou de la mise à niveau vers une application partenaire).
Étape 3 - Exportez votre certificat x509 et votre clé privée vers un fichier pfx. Si la bibliothèque d'encapsulation que vous avez choisie utilise le fichier .pem pour signer les demandes, cette étape n'est pas requise.
J'espère que ça t'as aidé! Cette réponse explique les différentes extensions de fichiers.
La clé publique est stockée à l'intérieur du certificat x.509. Le certificat lie les informations d'identité (nom commun, adresse, etc.) à cette clé publique.
Créez une paire de clés privée-publique.
openssl req -x509 -newkey rsa:2048 -keyout private.key -out public.cert -days 365
Facultativement, combinez la paire en un seul fichier.
openssl pkcs12 -export -inkey private.key -in public.cert -out certificate.pfx
Il en résulte les fichiers suivants.
private.key
certificate.pfx
public.cert
Voir également