Wie kann ich dem Alias den gewünschten Schlüsseleintrag für SSLSocket mitteilen, bevor ich eine Verbindung herstelle?
Ich habe zwei Zertifikate / Schlüsselpaare in einem Java-Keystore. Aliase dieser Tastatureingaben sind "foo" und "bar".
Mein TLS-Client (Java-Programm) verwendet den Keystore. Die TLS-Clientauthentifizierung wird während des Verbindungsaufbaus durchgeführt. Das Client-Programm sollte die Tasteneingabe "foo" verwenden, wenn der TLS-Server ein Zertifikat vom Client anfordert. Jetzt sendet der Client beim Verbindungs-Handshake ein falsches Zertifikat ("bar") an den Server.
Wie kann ich dem Alias den gewünschten Schlüsseleintrag für SSLSocket mitteilen, bevor ich eine Verbindung herstelle?
Derzeit lautet der Code wie folgt:
final SSLSocket ss = (SSLSocket)SSLSocketFactory.getDefault().createSocket();
ss.setEnabledProtocols( new String[] {"TLSv1"});
ss.connect( targetAddress );