Nous avons un serveur et un client JAVA qui communiquent sur un réseau en utilisant SSL. Le serveur et le client s'authentifient mutuellement à l'aide de certificats. Le type de fichier de clés utilisé par le serveur et le client est JKS. Le serveur et le client chargent leurs fichiers de clés et de fichiers de clés certifiées. Les noms de fichier du magasin de clés et du magasin de clés de confiance sont: server.keystore, server.truststore, client.keystore et client.truststore. J'utilise des certificats auto-signés uniquement pour les tests.
Des questions:
Q1. Je voudrais savoir pourquoi je dois ajouter les propres certificats du serveur et du client dans leurs magasins de confiance respectifs, à l'étape 6.
Q2. Puis-je réduire le nombre d'étapes pour obtenir la même chose? Si oui, alors comment?
Étapes pour créer une clé RSA, des certificats auto-signés, un magasin de clés et un magasin de clés de confiance pour un serveur
Générer une clé RSA privée
openssl genrsa -out diagserverCA.key 2048
Créer un certificat x509
openssl req -x509 -new -nodes -key diagserverCA.key \ -sha256 -days 1024 -out diagserverCA.pem
Créez un fichier de clés PKCS12 à partir d'une clé privée et d'un certificat public.
openssl pkcs12 -export -name server-cert \ -in diagserverCA.pem -inkey diagserverCA.key \ -out serverkeystore.p12
Convertir le fichier de clés PKCS12 en fichier de clés JKS
keytool -importkeystore -destkeystore server.keystore \ -srckeystore serverkeystore.p12 -srcstoretype pkcs12 -alias server-cert
Importez un certificat client dans le magasin de clés de confiance du serveur.
keytool -import -alias client-cert \ -file diagclientCA.pem -keystore server.truststore
Importez un certificat de serveur dans le magasin de clés de confiance du serveur.
keytool -import -alias server-cert \ -file diagserverCA.pem -keystore server.truststore
Étapes pour créer une clé privée RSA, un certificat auto-signé, un magasin de clés et un magasin de clés de confiance pour un client
Générer une clé privée
openssl genrsa -out diagclientCA.key 2048
Créer un certificat x509
openssl req -x509 -new -nodes -key diagclientCA.key \ -sha256 -days 1024 -out diagclientCA.pem
Créez le magasin de clés PKCS12 à partir de la clé privée et du certificat public.
openssl pkcs12 -export -name client-cert \ -in diagclientCA.pem -inkey diagclientCA.key \ -out clientkeystore.p12
Conversion d'un fichier de clés PKCS12 en fichier de clés JKS
keytool -importkeystore -destkeystore client.keystore \ -srckeystore clientkeystore.p12 -srcstoretype pkcs12 \ -alias client-cert
Importez un certificat de serveur dans le magasin de clés de confiance du client.
keytool -import -alias server-cert -file diagserverCA.pem \ -keystore client.truststore
Importez un certificat client dans le magasin de clés de confiance du client.
keytool -import -alias client-cert -file diagclientCA.pem \ -keystore client.truststore