java - 在 Java 中使用 SSL 调用 WS

标签 java ssl jks

我用这个客户端连接到一个工作正常的网络服务:

WSCSI WSCS = new WSCSI("http://localhost:8080/ServiceV2/services/WSCSISoap?wsdl","WSCSI","WSCSISoap");
IScoring instance = new ScoringCFA(WSCS);

assertEquals(true, instance.statusService());

我需要使用 SSL,所以我将 url 更改为: https://localhost:8181/ServiceV2/services/WSCSISoap?wsdl

然后在 VM 选项中添加:

-Djavax.net.ssl.trustStore="C:\cacerts.jks"

('Keytool -list -keystore "C:\cacerts.jks',当我运行这个命令时,我看到我需要的证书就在那里)

当我运行客户端时出现此错误:

java.security.cert.CertificateException: No name matching localhost found.)

最佳答案

这可能是因为您使用的证书是针对特定主机名 (www.myhost.com) 颁发的。尝试此 article 中的解决方案.
但请注意,代码示例仅用于本地主机测试,一旦您在适当的服务器上进行集成/组装测试,请将其删除。

关于java - 在 Java 中使用 SSL 调用 WS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4949334/

相关文章:

java - Apache POI 依赖项?

java - 如何在Java中的正则表达式中转义 "["

java - Android Studio - 应用程序预览显示 xml 布局,但当我在手机上运行应用程序时,什么也没有显示

php - 无法使用 SSL 连接到 test.salesforce.com

python-3.x - 使用 Pandas 时出现错误 urlopen 错误 [SSL : CERTIFICATE_VERIFY_FAILED] certificate verify failed

ssl-certificate - 如何将 .p7b 转换为 .jks

java - 创建连接时执行sql语句

php - 在 heroku 上具有自定义 https 域的 Laravel 不生成 https 路由

java - 错误 javax.crypto.IllegalBlockSizeException : in Decryption

java - 使用 P7B 证书在 Spring Boot Java 应用程序中启用 HTTPS