我求助于Jersey来实现REST服务,该服务需要客户端身份验证,预配置的密码套件和tls版本。
我设法实现了客户端身份验证和tls版本,但是当我尝试添加密码套件时,出现以下错误: javax.ws.rs.ProcessingException:javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接 在org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:287) …
我已经尝试在客户端实现我自己的套接字工厂版本,该版本还设置了密码套件,但它给了我同样的错误。如果我在设置密码套件后进行了startHandshake操作,它将使我“未连接”。
这是我在服务器上使用的代码:
server.setHttpsConfigurator(new 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)”进行注释时;效果很好。
关于如何通过球衣实施此建议吗?