Cómo soportar múltiples TrustStores en la aplicación de cliente SSL de Java

En nuestra aplicación Java necesitamos comunicarnos con una lista de servidores en SSL usando el protocolo https. La lista de servidores para comunicarse cambiará en tiempo de ejecución. Inicialmente no tenemos ninguno de los certificados del servidor. En tiempo de ejecución, obtendremos un nuevo certificado de servidor y agregaremos el certificado de clave pública en un almacén de confianza; y cualquier nueva conexión https con el servidor debe usar el almacén de confianza actualizado.

Estamos pensando que deberíamos usar dos almacenes de confianza, uno cacerts (uno predeterminado enviado con jre) y otro que contiene certificados de los servidores que agregamos / eliminamos dinámicamente en una lista. Esto asegurará que no modifiquemos el TrustStore (cacerts) predeterminado de java.

Sugiera cómo se puede lograr esto. Además, ¿hay alguna manera de usar un almacén de confianza específico solo para un subproceso en particular en Java, de modo que otros subprocesos (existentes y nuevos) aún deben usar el almacén de búsqueda (cacerts) predeterminado de Java, y un subproceso específico usará el almacén de confianza particular para el servidor.

Gracias Deepak

Respuestas a la pregunta(2)

Su respuesta a la pregunta