Как я могу сказать псевдоним желаемого ввода ключа в 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 );