有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我正在尝试使用https url连接服务器,但仍然无法理解如何将SSL证书添加到客户端

私有静态字符串post()引发异常{ 字符串url=”https://www.test.lk/services/erl/es/erl/view/index.action“

    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
        }
    } };
}

共 (0) 个答案