java.security.cert.CertificateException: No subject alternative names matching IP address **** found

修改域控用户密码,报错java.security.cert.CertificateException: No subject alternative names matching IP address **** found

  • 前提CA证书已经导入到jdk证书管理器!!!
  • 解决方法
  • 经测试可用的修改方式
    • 1. 服务已安装
    • 2. 服务未安装
  • 结束!!!!!

前提CA证书已经导入到jdk证书管理器!!!

解决方法

如果您使用 1.8.0_51 和 1.8.0_60 之间的 Oracle JDK,则通过 IP 地址而不是主机名进行连接时会出现问题。如果使用 IP 地址,则还必须在证书的主题备用名称中提及该地址。根据Mulesoft 支持的说法,解决方法是将 JVM 参数“jdk.tls.trustNameService”设置为 true – 从而对 IP 地址进行反向名称查找。

经测试可用的修改方式

两种修改方式

1. 服务已安装

  • 打开Tomcat文件目录中的bin目录,双击打开tomcat*.exe,如下图

    在这里插入图片描述

  • 选中上面Java选项

    在这里插入图片描述

  • 直接修改输入框前面追加-Djdk.tls.trustNameService=true,然后点击‘应用’按钮,即可完成修改

  • 启动Tomcat服务后,在日志中会打印出,修改后的jvm options,如下图

    在这里插入图片描述

  • 出现上面日志输出,则表示修改成功!

2. 服务未安装

得到一个安装即是修改后的内存值,适用于需要经常安装部署的人员。
适用前提:未安装Tomcat服务!!!!!
  1. 修改Service.bat文件

    找到下面语句:

    --JvmOptions "-Dcatalina.home=%CATALINA_HOME%;-Dcatalina.base=%CATALINA_BASE%;-D%ENDORSED_PROP%=%CATALINA_HOME%\endorsed;-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties;%JvmArgs%" ^
    
  2. 直接修改JvmOptions值

    --JvmOptions "-Djdk.tls.trustNameService=true;-Dcatalina.home=%CATALINA_HOME%;-Dcatalina.base=%CATALINA_BASE%;-D%ENDORSED_PROP%=%CATALINA_HOME%\endorsed;-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties;%JvmArgs%" ^
    
  3. 安装Tomcat服务,bin目录下执行以下命令行

    service install
    
  4. 安装完成打开tomcat*.exe,查看Java选项,如下图,则表示修改成功

    在这里插入图片描述

结束!!!!!

———–我是分割线———————————————————————————————

补充说明:如果添加-Djdk.tls.trustNameService=true;无效,改用-Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true;

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/fff78aa10e.html