ssl - Websphere Application Server - HTTPClient - SSL Peer unauthenticated

标签 ssl https websphere ssl-certificate apache-httpclient-4.x

我正在使用 Apache HTTPClient 在 WAS 上使用 REST 服务。 这是 HTTPS (PKI) 并且 Target 安全性在 WAS Trust store 和 SSL 证书和 key 管理 > 管理端点安全配置 > OutBound > http >SSLConfiguration 指向正确的 SSLConfigraiton(使用目标证书受信任的信任库)。 但是,当我使用 HTTP 客户端调用目标服务时,我得到的是未通过身份验证的对等体。

当我浏览各种表单时,我看到了一些建议,例如在代码中加载 SSLContext。

但不是每个从我的 JVM(WAS 服务器)出站的 HTTP 都应该在我的信任库(设置在 WAS SSL 证书和 key 管理 中进行验证)

我还漏掉了什么吗? 请提出建议。

最佳答案

我也有这个问题

我用默认的 SSLSocketFactory 解决了这个问题。这允许您的 HttpClient 使用来自您的 Webspherere 的信任库。此代码适用于 HttpClient 版本 4.2,您可以直接使用我认为的 Builder 类执行此操作的较新版本。

    // register default SSLSocketFactory to use SSL Certificates from Websphere
    javax.net.ssl.SSLSocketFactory wasSslFactory = (javax.net.ssl.SSLSocketFactory) javax.net.ssl.SSLSocketFactory.getDefault();
    org.apache.http.conn.ssl.SSLSocketFactory socketFactory = new org.apache.http.conn.ssl.SSLSocketFactory(wasSslFactory, org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
    Scheme scheme = new Scheme("https", 443, socketFactory);
    httpClient.getConnectionManager().getSchemeRegistry().register(scheme);

关于ssl - Websphere Application Server - HTTPClient - SSL Peer unauthenticated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38040933/

相关文章:

jsf-2 - WebSphere 7+ 中的 JSF 2 Mojarra 和 Primefaces

apache - 我在哪里可以找到 CentOS 服务器中的 ssl.conf 文件?

java - https请求返回403

java - 以编程方式添加证书颁发机构,同时保留 Android 系统 SSL 证书

java - 即使在 Websphere 中应用程序已停止后,线程仍会继续运行

java - 使用 ServletOutputStream 在 Java servlet 中写入非常大的文件而不会出现内存问题

c# - 使用 C# 以编程方式创建并信任 SSL 证书?

c# - 如何在 C# 中使用 HttpClient 通过 IP 地址启动与服务器的可信 TLS 连接?

asp.net - 如何陷阱 "cannot establish secure connection"

django - Tastypie POST 位置 HTTPS 与 HTTP