java - IBM WAS HTTPS 连接证书链错误

标签 java https ssl-certificate websphere

我有 IBM WAS 8.5.5.9 ND 和 MS Exchange 服务器,我尝试使用 EWS Java API 访问它们。部署管理器设置在一台计算机上,我的应用程序服务器和 java 应用程序在另一台计算机上运行。

         ExchangeService service = new ExchangeService();
         ExchangeCredentials credentials = new WebCredentials("username", "password", "host");
         service.setCredentials(credentials);
         service.setUrl(URI.create("https://xxxxxxxxx/EWS/Exchange.asmx"));

         List msgList = new ArrayList();

         Folder folder = Folder.bind(service, WellKnownFolderName.Inbox);
         FindItemsResults results = service.findItems(folder.getId(), new ItemView(5));
         List items = results.getItems();

         service.close();

但是我的应用程序无法访问 MS Exchange。 HTTPS 连接问题:

The request failed. The request failed. com.ibm.jsse2.util.j: PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is: 
            java.security.cert.CertPathValidatorException: The certificate issued by CN=XXX Root CA, O=XXX, C=ES is not trusted; internal cause is: 
            java.security.cert.CertPathValidatorException: Certificate chaining error

我创建了这份 IBM 指南 ( http://www-01.ibm.com/support/docview.wss?uid=swg21592616 )。

我从我的 Firefox 浏览器下载了根证书和中间证书,可以使用它们访问 OWA。将它们安装在 NodeDefaultTrustStore 中,甚至在 CellDefaultTrustStore 中,重新加载我的应用程序服务器并在其上运行 java EWS API。但还是有这个问题。

我做错了什么?也许我错过了什么?此问题是否与 IBW WAS 和信任库设置有关,或者只是我的证书错误?我应该将此证书添加到 java truststore 吗?添加歌手证书时别名字段的值重要吗(我为除受信任之外的中间证书设置了别名值)?

最佳答案

为了解决这个问题,我还必须在 java truststore 中添加根证书和中间证书

关于java - IBM WAS HTTPS 连接证书链错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44943451/

相关文章:

java - 屏幕在 java 中抓取大型机屏幕?

java - 枚举国际化异常

security - 我可以在 Heroku 的同一域中使用 EV SSL 和 Wildcard SSL 吗?

asp.net - 从 Azure 连接到 HTTPS Web 服务

java - 为什么上下文在这个 Java 8 流示例中是静态的?

Java内存分配

css - 字体和 Font Awesome 图标无法通过 SSL 加载

security - 什么使 SSL 安全?

java - Keytool 设置主机名

apache - Ubuntu apache 创建有效的自签名证书 ssl https(删除连接不安全)