Отладка была включена на стороне сервера. Когда мы пытаемся открыть ссылку на сервере; это происходит даже до того, как появится окно выбора сертификата клиента. С точки зрения пользователя, они не увидят разницы; но на самом деле они подключились только во втором рукопожатии. Я также использовал ssltap для захвата трафика. Я постараюсь где-нибудь поместить логи из ssltap и связать их. Насколько я вижу, они почти одинаковы. Но я могу что-то упустить.

я есть приложение, встраивающее Jetty. Я хотел бы использовать клиентскую проверку подлинности в SSL и когда я включаю это; Я получаю следующее исключение в начале запроса. Но после этого запрос обрабатывается должным образом. Это исключение возникает только при доступе из IE или Chrome. Он не приходит при доступе из Firefox. У нас есть собственный SSLConnector, расширяющий SslSocketConnector. Я пытаюсь отладить это; но хотел знать, есть ли какое-то конкретное место / код, где я могу начать проверку.

javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake 
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:808) 
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112) 
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1139) 
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1123) 
        at org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:631) 
        at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451) 
Caused by: java.io.EOFException: SSL peer shut down incorrectly 
        at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:333) 
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789) 

Обновить:

Я включил опцию отладки SSL и получал это исключение при чтении сразу после сообщения ServerHelloDone. Это сообщение, где сервер отправляет свой сертификат вместе с запросом на сертификат клиента, я верю. Я не уверен, что происходит в первом чтении. Любая помощь высоко ценится.

*** ClientHello, TLSv1
****
%% Created:  [Session-1, TLS_RSA_WITH_AES_128_CBC_SHA]
*** ServerHello, TLSv1
*** Certificate chain
***
*** CertificateRequest
Cert Types: RSA, DSS
Cert Authorities:
*** ServerHelloDone
WRITE: TLSv1 Handshake, length = 703
received EOFException: error
handling exception: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake

Обновить: Обновил JDK до последней версии 23 и попробовал с двумя свойствами, включенными / отключенными. По-прежнему получаю такое же поведение.

Больше информации: TLSv1 и SSLv3 включены во всех браузерах. Связь происходит должным образом без включенной аутентификации клиента. При аутентификации клиента мы всегда получаем исключение при первом рукопожатии, а следующее выполняется правильно и выполняется без исключений. Использование версии причала 6.1.14 на стороне сервера

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

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