Tenemos Java Server y el cliente comunican a través de una red mediante SSL. El servidor y el cliente mutuamente autenticarse entre sí utilizando certificados. El tipo de almacén de claves que utiliza el servidor y el cliente es JKS. Las cargas de servidor y cliente sus archivos de almacén y trustStore. Los nombres de almacén de claves y almacén de confianza de archivo son: server.keystore, server.truststore, client.keystore y client.truststore. Estoy utilizando certificados con firma para probar solamente.
Preguntas:
Q1. Me gustaría saber por qué tengo que añadir del servidor y del cliente propios certificados en sus respectivos almacenes de confianza, en el paso 6.
Q2 ¿Puedo reducir el número de los pasos para lograr la misma cosa? ¿Si es así, entonces cómo?
Pasos para crear clave RSA, certificados autofirmados, almacén de claves y almacén de confianza para un servidor
Generar una clave privada RSA
openssl genrsa -out diagserverCA.key 2048
Crear un certificado X509
openssl req -x509 -new -nodes -key diagserverCA.key \ -sha256 -days 1024 -out diagserverCA.pem
Cree un almacén de claves PKCS12 a partir de clave privada y certificado público.
openssl pkcs12 -export -name server-cert \ -in diagserverCA.pem -inkey diagserverCA.key \ -out serverkeystore.p12
Convertir almacén de claves PKCS12 en un almacén de claves JKS
keytool -importkeystore -destkeystore server.keystore \ -srckeystore serverkeystore.p12 -srcstoretype pkcs12 -alias server-cert
Importar un certificado de cliente para almacén de confianza del servidor.
keytool -import -alias client-cert \ -file diagclientCA.pem -keystore server.truststore
Importar un certificado de servidor para almacén de confianza del servidor.
keytool -import -alias server-cert \ -file diagserverCA.pem -keystore server.truststore
Pasos para crear una clave privada RSA, un certificado autofirmado, un almacén de claves y un almacén de confianza para un cliente
Generar una clave privada
openssl genrsa -out diagclientCA.key 2048
Crear un certificado X509
openssl req -x509 -new -nodes -key diagclientCA.key \ -sha256 -days 1024 -out diagclientCA.pem
Crear almacén de claves PKCS12 de clave privada y certificado público.
openssl pkcs12 -export -name client-cert \ -in diagclientCA.pem -inkey diagclientCA.key \ -out clientkeystore.p12
Convierta un almacén de claves PKCS12 en un almacén de claves JKS
keytool -importkeystore -destkeystore client.keystore \ -srckeystore clientkeystore.p12 -srcstoretype pkcs12 \ -alias client-cert
Importar un certificado de servidor para almacenamiento de confianza del cliente.
keytool -import -alias server-cert -file diagserverCA.pem \ -keystore client.truststore
Importar el certificado de un cliente a la tienda de la confianza del cliente.
keytool -import -alias client-cert -file diagclientCA.pem \ -keystore client.truststore