繁体   English   中英

如何在 java 客户端中使用 SSL 客户端证书和 jersey 客户端

[英]How do I use an SSL client certificate with jersey client in java

我正在尝试使用 https url 连接服务器但仍然不明白如何将 SSL 证书添加到 ZF48E91B3ZAA8CDC8D712FF 客户端

私人 static 字符串 post() 抛出异常

    Client client =createClient();
    try {
        return client
                .target(url)
                .request()
                .get()
                .readEntity(String.class);
    } finally {
        client.close();
    }
}


private static Client createClient() throws Exception {
    SSLContext ctx = SSLContext.getInstance("SL");
    ctx.init(null, getTrustManager(), new SecureRandom());

    HostnameVerifier verifier = new HostnameVerifier() {
        @Override
        public boolean verify(String hostName, SSLSession sslSession) {
            return true;
        }
    };

    return ClientBuilder.newBuilder().sslContext(ctx).hostnameVerifier(verifier).build();
}

private static TrustManager[] getTrustManager() {
    return new TrustManager[] { new X509TrustManager() {
        
        public X509Certificate[] getAcceptedIssuers() {
            return new X509Certificate[0];
        }

        public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
            // Trust all servers
        }
        
        public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
            // Trust all clients
        }
    } };
}

我找到了解决方案。 我只需要将证书添加到 java KeyStore 这对我有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM