web-dev-qa-db-fra.com

Comment créer un certificat ECDSA avec la ligne de commande OpenSSL

Je crée une application serveur en C++ qui doit accepter un certificat contenant une clé publique ECDSA. Il doit valider le certificat et, après vérification, utiliser la clé publique contenue dans le certificat pour authentifier un message envoyé avec le certificat.

J'ai tout cela en utilisant des paires de clés ECDSA générées à la volée - c'est-à-dire que mon code fonctionne bien - mais maintenant je dois faire la pièce de certificat.

Et j'ai pensé que je pouvais utiliser la ligne de commande d'OpenSSL pour créer le certificat qui est installé sur le client (avec la clé privée ECDSA dans un fichier séparé).

Quelqu'un peut-il aider?

21
ShaunB

Si vous n'avez pas choisi de courbe, vous pouvez les lister avec cette commande:

openssl ecparam -list_curves

J'ai choisi secp256r1 pour cet exemple. Utilisez-le pour générer une clé privée EC si vous n'en avez pas déjà:

openssl ecparam -out ec_key.pem -name secp256r1 -genkey 

Et puis générez le certificat. Votre certificat sera dans cert.pem.

openssl req -new -key ec_key.pem -x509 -nodes -days 365 -out cert.pem

Voir aussi: req , ecparam

35
indiv