У меня есть приложение с Джерси, которое использует клиент Джерси для запроса сервера. Сервер использует клиентский сертификат и базовый auth для связи. У меня есть настройки доверенных сертификатов и хранилища ключей правильно с сертификатами в GlassFishJava Джерси не отправляет сертификат клиента ssl
сертификат сервера цепи: Сервер CERT -> CA Inter -> CA
сертификат клиента цепи: клиент CERT -> CA Inter -> CA
CA - это сам созданный/подписанный сертификат, а не поставщик.
доверенных:
1) CA
2) CA Inter
хранилище ключей:
1) сертификат клиента с полной цепи
код: (магазины устанавливаются в среде)
sSLContext = SslConfigurator.newInstance().securityProtocol("TLSv1.2").createSSLContext();
HttpAuthenticationFeature authFeature = HttpAuthenticationFeature.basic("user", "pass");
client = ClientBuilder.newBuilder().sslContext(sSLContext).build();
client.register(authFeature);
Все сертификаты и цепи загружаются должным образом.
Однако, когда я сделать запрос я получить
Info: Warning: no suitable certificate found - continuing without client authentication
, а затем я получаю ошибку handshake_failure
я получаю эти другие ошибки
Info: http-listener-1(3), setSoTimeout(0) called
Info: Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 for TLSv1.1
Info: Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 for TLSv1.1
Info: Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256 for TLSv1.1
Info: Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 for TLSv1.1
Info: Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 for TLSv1.1
Info: Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for TLSv1.1
Info: Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 for TLSv1.1
Я установил неограниченное расширение Chiper и проверяется, что работает. Все еще получаю их.
Я также проверил сертификат в браузере, и я могу подключиться к серверу через браузер и получать данные с использованием тех же сертификатов.
Как получить 2-way ssl для работы?
У меня есть два хранилище ключей cacerts .jks и keystore.jks, какова будет клиентская доверенность? У меня есть CA и CA inter и в цепочке серверов и клиентов, и они совпадают. У меня есть ca-certs.pem как цепочка сертификатов, установленная на сервере apache. Это содержит CA cert. И я подтвердил, что тип запроса на сертификат сервера соответствует одному присутствующему в клиенте – Akshit