Я прибегаю к Джерси для реализации службы REST, требующей аутентификации клиентов, предварительно настроенных шифровальных пакетов и версии tls.
Мне удалось реализовать аутентификацию клиентов и версию tls, но когда я пытаюсь добавить набор шифров, выдается следующая ошибка:
javax.ws.rs.ProcessingException: javax.net.ssl.SSLHandshakeException: удаленное соединение закрыло соединение во время рукопожатия
в org.glassfish.jersey.client.internal.HttpUrlConnector.apply (HttpUrlConnector.java:287)
...
Я пытался реализовать собственную версию фабрики сокетов на стороне клиента, которая также устанавливает наборы шифров, но выдает мне ту же ошибку. Если после установки шифров я запускаю Handhhake, он дает мне сообщение «not connected».
Это код, который я использую на сервере:
server.setHttpsConfigurator (новый HttpsConfigurator (ctx) {
@Override
public void configure(HttpsParameters params) {
SSLParameters sslparams = ctx.getDefaultSSLParameters();
sslparams.setNeedClientAuth(authenticate_clients);
sslparams.setCipherSuites(cipherSuites);
sslparams.setProtocols(protocols);
params.setSSLParameters(sslparams);
}
});
когда я комментирую строку "sslparams.setCipherSuites (cipherSuites);" работает нормально.
Есть предложения о том, как реализовать это с помощью джерси?