Java utilise ses propres outils pour générer et utiliser les certificats sécurisés. Tout se base sur un stockage propriétaire dans un fichier keystore, regroupant des certificats/clés accessibles par des alias. Un keystore est protégé par mot de passe. Si aucun keystore n’est spécifié, le keystore personnel de l’utilisateur est utilisé (~/.keystore). Il est bien sûr possible d’importer et exporter des certificats / clés pour les utiliser dans des applications Java ou non.

Je vous propose ici un mémo des commandes les plus utilisées :

Afficher le contenu du keystore personnel :

$ keytool -list

Afficher le contenu d’un fichier keystore :

$ keytool -list -keystore my.keystore

Générer un certificat X509  auto-signé et le nommer mycert dans le keystore :

$ keytool -genkey -keystore my.keystore -alias mycert -keyalg RSA

Supprimer un certificat d’un keystore :

$ keytool -delete -keystore my.keystore -alias mycert

Afficher le contenu d’un keystore :

$ keytool -list -keystore my.keystore

Exporter le certificat d’un keystore :

$ keytool -list -keystore my.keystore -export -alias mycert -rfc

Importer un certificat externe et le protéger par mot de passe :

$ keytool -import -keystore my.keystore -alias myimport -storepass mypass -file mycertif.crt

Documentation de keytool : http://java.sun.com/javase/6/docs/technotes/tools/windows/keytool.html