我想使用带有 Jersey 2.3 客户端的 Apache 连接器进行 HTTPS 连接。
我尝试了以下方法:
ClientConfig clientConfig = new ClientConfig();
clientConfig.property(ApacheClientProperties.CONNECTION_MANAGER, new PoolingClientConnectionManager());
ApacheConnector connector = new ApacheConnector(clientConfig);
clientConfig.connector(connector);
Client client = ClientBuilder.newBuilder()
.withConfig(clientConfig)
.sslContext(sslContext)
.hostnameVerifier(getHostnameVerifier())
.build();
但是,似乎 sslContext 被忽略,因为服务器的证书被拒绝为不受信任(sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径)
如果我删除“.withConfig(clientConfig)”部分,SSL 连接工作正常,但显然没有 Apache 连接器。有没有办法将我自己的 ClientConfig 与 Apache 连接器以及我自己的 SSLContext 一起使用?