Как я могу сказать псевдоним желаемого ввода ключа в SSLSocket перед подключением?

У меня есть две пары сертификат / ключ в хранилище ключей Java. Псевдонимами этих ключевых записей являются «foo» и «bar».

Мой TLS-клиент (Java-программа) использует хранилище ключей. Аутентификация клиента TLS выполняется во время открытия соединения. Клиентская программа должна использовать ввод ключа "foo", когда TLS-сервер запрашивает сертификат у клиента. Теперь клиент отправляет неверный сертификат («бар») на сервер во время установления соединения.

Как я могу сказать псевдоним желаемого ввода ключа в SSLSocket перед подключением?

В настоящее время код следующий:

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

Ответы на вопрос(1)

Ваш ответ на вопрос