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