【发布时间】:2015-10-01 17:49:53
【问题描述】:
我正在使用 Wildfly 8.2 来托管工作中的应用程序,该应用程序有时需要访问仅允许 SSL 连接的 Web 服务。 Web 服务不属于我的公司,我无法更改它的任何配置。此 Web 服务使用自签名 SSL 证书,该证书具有不同于 Web 服务域的通用名称 (CN)。
我已将 Web 服务的证书添加到 JVM 密钥库,但由于 Web 服务证书上的公用名与其 url 上的域名不同,Wildfly 服务器不允许完成连接。
所以,为了让我的应用程序能够完成 SSL 连接,我需要禁用 Wildfly 的公用名验证。 这就是问题所在,我只找到了一些关于如何禁用该属性的解决方案,更准确地说是 3。前两个涉及在standalone.xml 配置文件中添加一些额外的行,更准确地说,它们都建议我在“extensions”之后添加一个“system-properties”标签。
第一个:
<extensions>
...
</extensions>
<system-properties>
<property name="cxf.tls-client.disableCNCheck" value="true"/>
</system-properties>
第二个:
<extensions>
...
</extensions>
<system-properties>
<property name="org.jboss.security.ignoreHttpsHost" value="true"/>
</system-properties>
这两个都不适合我。第三种解决方案是在我初始化服务器时使用参数“-Dorg.jboss.security.ignoreHttpsHost=true”,同样没有效果。
如何在 wildfly 8.2 上禁用此通用名称检查?
【问题讨论】:
-
这个有运气吗?遇到完全相同的问题...
-
很遗憾没有。最后我没有更多时间了,所以我使用 curl 做了一个丑陋的解决方法。
-
我也没有。我别无选择,最终在证书的 SAN 中指定了服务器的 IP 地址。感谢回复
标签: java web-services ssl-certificate wildfly wildfly-8