首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTPClient - SSL

HTTPClient - SSL
EN

Stack Overflow用户
提问于 2016-06-26 16:59:42
回答 2查看 2.4K关注 0票数 0

我正在使用使用Apache HTTPClient的REST服务。这是HTTPS (PKI),目标安全性受信任存储和SSL证书和密钥管理>管理端点安全配置> OutBound > http >SSLConfiguration被指向正确的SSLConfigraiton (使用目标证书受信任的信任存储)。但是,当我使用HTTP客户端调用目标服务时,我得到的是没有身份验证的对等服务器。

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

但是,不是所有来自我的JVM ( WAS )的HTTP绑定都应该在我的信任存储区(设置为is SSL证书和密钥管理)进行验证吗?

我漏掉了别的东西吗?请建议一下。

EN

回答 2

Stack Overflow用户

发布于 2016-11-02 11:36:28

我也吃过这个

我用默认的SSLSocketFactory解决了这个问题。这允许您的HttpClient使用来自Websphrere的Truststore。这段代码用于HttpClient版本4.2,使用较新的版本,您可以直接使用我认为的Builder类来实现。

代码语言:javascript
复制
    // 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);
票数 1
EN

Stack Overflow用户

发布于 2016-06-27 06:25:52

对于验证SSL连接,在默认情况下提供了一个SSL证书,它是一个自签名证书。在这种情况下,需要将根证书从WAS导入到HTTPClient程序正在使用的信任存储。

有关由此链接实现的SSL的更多信息,您可以参考implemented中的WebSphere。

要回答第二个问题,出站连接将使用WAS信任存储进行验证。在您的示例中,您正在使用HTTPClient触发WAS上的服务。这将从WAS透视图中定义为入站连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38040933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档