Utilisez le keytool (fourni avec la JDK) pour manipuler les clés et certificats.
Procédure
-
Créer deux paires de clés :
- une pour le serveur (utilisée pour le SSL)
-
une en tant qu'exemple côté client (utilisée pour faire confiance ("trust") au certificat )
Cette opération doit être effectuée pour chaque client.
mkdir -p etc/keystores cd etc/keystores keytool -genkey -keyalg RSA -validity 365 -alias serverkey -keypass password -storepass password -keystore keystore.jks keytool -genkey -keyalg RSA -validity 365 -alias clientkey -keypass password -storepass password -keystore client.jks
Ces clés sont auto-signées. Dans un système de production, vous devez utiliser une autorité de certification.
-
Exportez le certificat client à importer dans le keystore du serveur :
keytool -export -rfc -keystore clientKeystore.jks -storepass password -alias clientkey -file client.cer keytool -import -trustcacerts -keystore keystore.jdk -storepass password -alias clientkey -file client.cer
-
Vérifiez que le certificat client est fiable dans le keystore:
keytool -list -v -keystore keystore.jks ... Alias name: clientkey Creation date: Aug 28, 2018 Entry type: trustedCertEntry ...
- Supprimez le certificat client.cer.