java - 为什么在没有配置信任存储位置的情况下从 SoapUI 接受了 SOAP 请求?

标签 java oracle ssl soap soapui

我在 Jdeveloper 11.1.1.7 中构建了一个 Web 服务应用程序,并将其部署在 weblogic 10.3.6 上,其中包含所有 keystore 和 SSL 配置。

SSl 配置:

使用服务器证书:选中

双向客户端证书行为: 未请求客户端证书。 [这意味着它是单向 ssl。 如果错了请纠正我]

启用 SSL 监听端口: 选中

keystore 配置:

自定义身份和自定义信任。已为这些自定义 key 存储指定文件路径

已经创建了一个示例客户端应用程序,一切似乎都很好;我的意思是客户端在没有指定存储服务器证书的信任存储文件位置的情况下无法访问服务器应用程序,并且它在客户端是受信任的。

服务器证书是指在服务器 keystore 配置中配置的相同证书

供您引用,客户端应用程序引用信任库如下:

System.setProperty("javax.net.ssl.trustStore",[Trust-store location goes here]);
System.setProperty("javax.net.ssl.trustStorePassword", [password goes here]);

到目前为止,没有任何问题。接下来是问题详情:

出于测试目的,我尝试使用 SoapUI(开源软件)访问已部署的 Web 服务应用程序。令人困惑的是请求已发送,在服务器上接受并继续,而没有在 SoapUI 项目配置中为服务器证书或信任存储位置指定任何内容!!

为什么未引用服务器证书就从 SoapUI 接受了 SOAP 请求?在这种情况下,请求应该被拒绝。

最佳答案

我对 SoapUI 的体验是它相当宽松。例如,如果它不检查服务器证书的 CN 是否与 URL 中的完全限定域名匹配。在您的情况下,您的服务器很可能使用 CA 签名证书。大多数知名 CA(例如 VeriSign/Symantec)的根证书和中间证书已包含在大多数系统的默认信任库中。如果您的服务器使用了自签名证书,那么除非您将自签名证书导入到运行 SoapUI 的主机的信任库中,否则 SoapUI 会发生 SSL 错误。

关于java - 为什么在没有配置信任存储位置的情况下从 SoapUI 接受了 SOAP 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25720206/

相关文章:

java - 使用 batik 向 DOM 文档添加元素

java - 将长整型转换为十进制

c# - 在单元测试中,如何处理变量命名/赋值?

java - keystore 和 trustore 不能一起工作

oracle - 如何通过数据库链接远程远程 sysdate 结果?

c# - Entity Framework : How can I use more then one context and stay synchronized?

sql - 通过 Oracle SQL 检索范围内的数字

windows - 自签名 SSL 证书适用于 IE 和 curl,但不适用于现代浏览器

Android:oauth.signpost.exception.OAuthCommunicationException:与服务提供商的通信失败:没有对等证书

java - FF 为我的 tomcat HTTPS 抛出 Strict-Transport-Security