禁用自签名证书上的主题备用名称(SAN)验证

时间:2016-11-21 17:58:29

标签: java rest ssl jboss wildfly

我有一个WildFly实例(我们称之为实例1 ),并在密钥库中添加了自签名证书。该证书是使用 KeyStore Explorer 5.2.1 创建的。

生成的证书仅指定了CN,这是安装了 Instance 1 的server \ hostname的名称。我没有指定任何SAN,因为我希望实例1上安装的应用程序可以在本地访问(通过“127.0.0.1”或“localhost”)或远程访问(通过主机名或LAN IP)。

实例1 上只安装了一个应用程序(我们称之为应用程序A ),它提供了多个REST Web服务

我在另一台服务器上有另一个WildFly实例(我们称之为实例2 )。使用 KeyStore Explorer 5.2.1 我将先前生成的证书导入到该实例的信任库中。

实例2 只有一个应用程序(我们称之为应用程序B )访问应用程序A <提供的REST Web服务/ p>

如果应用程序B 指定IP而不是安装应用程序A 的服务器的主机名,则会出现以下异常:

  • javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:不存在主题替代名称

我不想在SAN证书上指定IP,因为如果安装了 Instance 1 的服务器的IP发生了更改,则在调用REST服务的情况下,证书将变为无效使用LAN IP。

从我所看到的,可能的解决方案是设置以下属性:

<property name="org.jboss.security.ignoreHttpsHost" value="true"/>
<property name="cxf.tls-client.disableCNCheck" value="true"/>

他们都没有工作。

对此事的任何帮助都将不胜感激。

0 个答案:

没有答案