Jak mogę powiedzieć aliasowi żądanego wpisu klucza do SSLSocket przed połączeniem?

Mam dwa pary certyfikatów / kluczy w magazynie kluczy java. Aliasy tych wpisów to „foo” i „bar”.

Mój klient TLS (program java) korzysta z magazynu kluczy. Uwierzytelnianie klienta TLS odbywa się podczas otwierania połączenia. Program kliencki powinien użyć wpisu klucza „foo”, gdy serwer TLS żąda certyfikatu od klienta. Teraz klient wysyła niewłaściwy certyfikat („pasek”) do serwera podczas uzgadniania połączenia.

Jak mogę powiedzieć aliasowi żądanego wpisu klucza do SSLSocket przed połączeniem?

Obecnie kod jest następujący:

final SSLSocket ss = (SSLSocket)SSLSocketFactory.getDefault().createSocket(); 
ss.setEnabledProtocols( new String[] {"TLSv1"});
ss.connect( targetAddress ); 

questionAnswers(1)

yourAnswerToTheQuestion