Como suportar vários TrustStores no aplicativo cliente SSL java

Em nosso aplicativo java, precisamos nos comunicar com uma lista de servidores em SSL usando o protocolo https. A lista de servidores a se comunicar será alterada no tempo de execução. Inicialmente, não temos nenhum certificado do servidor. Em tempo de execução, obteremos um novo certificado do servidor e adicionaremos o certificado de chave pública em um armazenamento confiável; e qualquer nova conexão https com o servidor deve usar o armazenamento confiável atualizado.

Pensamos que devemos usar dois armazenamentos confiáveis, um cacerts (um padrão fornecido com jre) e outro contendo certificados dos servidores que adicionamos / removemos dinamicamente em uma lista. Isso garantirá que não modifiquemos o TrustStore (cacerts) padrão do java.

Por favor, sugira como isso pode ser alcançado. Além disso, existe alguma maneira de usar um armazenamento confiável específico apenas para um encadeamento específico em java, para que outros encadeamentos (existentes e novos) ainda usem o trueststore java padrão (cacerts), e um encadeamento específico usará o armazenamento confiável específico para o servidor.

Obrigado, Deepak

questionAnswers(2)

yourAnswerToTheQuestion