Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对自签名证书禁用使用者备选名称(SAN)验证_Java_Rest_Ssl_Jboss_Wildfly - Fatal编程技术网

Java 对自签名证书禁用使用者备选名称(SAN)验证

Java 对自签名证书禁用使用者备选名称(SAN)验证,java,rest,ssl,jboss,wildfly,Java,Rest,Ssl,Jboss,Wildfly,我有一个WildFly实例(我们称之为实例1),它的密钥库中添加了一个自签名证书。该证书是使用密钥库资源管理器5.2.1创建的 生成的证书仅指定了CN,即安装了实例1的服务器\主机名。我没有指定任何SAN,因为我希望安装在实例1上的应用程序可以在本地(通过“127.0.0.1”或“localhost”)或远程(通过主机名或LAN IP)访问 实例1上只安装了一个应用程序(我们称之为应用程序A),它提供了多个REST Web服务 我在另一台服务器上有另一个WildFly实例(我们称之为实例2)。我

我有一个WildFly实例(我们称之为实例1),它的密钥库中添加了一个自签名证书。该证书是使用密钥库资源管理器5.2.1创建的

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

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

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

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

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

  • javax.net.ssl.SSLHandshakeException:java.security.cert.certificateeexception:不存在主题替代名称
我不想在SAN证书上指定IP,因为如果安装了实例1的服务器的IP发生更改,则在使用LAN IP调用REST服务的情况下,证书将变得无效

据我所见,一个可能的解决方案是设置以下属性:

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

他们都没有工作

在此问题上的任何帮助都将不胜感激