Como posso dizer o alias da entrada de chave desejada para SSLSocket antes de conectar?
Eu tenho dois pares de certificados / chaves em um armazenamento de chaves java. Os aliases dessas entradas-chave são "foo" e "bar".
Meu cliente TLS (programa java) usa o keystore. A autenticação do cliente TLS é feita durante a abertura da conexão. O programa cliente deve usar a entrada de chave "foo" quando o servidor TLS solicitar o certificado do cliente. Agora o cliente envia um certificado errado ("barra") para o servidor durante o handshake de conexão.
Como posso dizer o alias da entrada de chave desejada para SSLSocket antes de conectar?
Atualmente o código está seguindo:
final SSLSocket ss = (SSLSocket)SSLSocketFactory.getDefault().createSocket();
ss.setEnabledProtocols( new String[] {"TLSv1"});
ss.connect( targetAddress );