Générer une paire de clé RSA avec openSSL

Pour générer la clé privé, on utilise l’action genrsa de openssl (voir le man genrsa pour plus de détails), la taille de la clé privée ici est de 2048 bits ce qui assure une niveau de sécurité acceptable pour des utilisations civiles (authentification, signature…) :

openssl genrsa -aes256 2018 >private.pem

Ensuite pour extraire la clé publique de la clé privé, on utilise l’action rsa (voir le man rsa pour plus de détail) :

openssl rsa -in private.pem -pubout > public.pem

Mémo sur la gestion/signature de clés RSA depuis un keystore java

créer la clé privée du ca et le certificat autosigné du ca
 openssl req -x509 -newkey rsa:1024 -keyout ca.key -out ca.crt
créer la paire de clé du user
 $JAVA_HOME/bin/keytool -genkey -alias "Chrystophe Vergnaud" -keyalg RSA -dname "CN=Chrystophe Vergnaud, OU=ICI, O=MY_HOME, L=HOME,S=31, C=FR" -storepass "change_moi" -keypass "un_truc_secret" -keystore cve.jks -storetype jks
faire la demande de certif du user
 ${JAVA_HOME}/bin/keytool -certreq -file cve.csr -storepass "change_moi" -alias "Chrystophe Vergnaud" -keystore cve.jks -storetype jks
signer la demande
 openssl x509 -req -days 1200 -in cve.csr -CA ../ca/ca.crt -CAkey ../ca/ca.key -CAcreateserial -out cve.crt
importer le certificat du CA dans le kstore
 ${JAVA_HOME}/bin/keytool -importcert -trustcacerts -alias "mon_ca" -file ../ca/ca.crt -keystore cve.jks -storepass "change_moi" -storetype jks
 repondre oui a la question
importer le certificat signé dans le kstore
 ${JAVA_HOME}/bin/keytool -importcert -alias "Chrystophe Vergnaud" -file cve.crt -keystore cve.jks -storepass "change_moi" -storetype jks
afficher le contenu du keystore
 ${JAVA_HOME}/bin/keytool -list -v -keystore cve.jks -storepass "change_moi" -storetype jks
exporter en pkcs12
 keytool -importkeystore -srckeystore cve.jks -destkeystore cve.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "change_moi" -deststorepass "change_moi_mieux"

ps : l’option storepass est à éviter en production mais en phase de test elle évite de choper une crampe.