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 ); 

questionAnswers(1)

yourAnswerToTheQuestion