仍然可以使用Java任务控制连接到远程JMX,但证书已过期?

仍然可以使用Java任务控制连接到远程JMX,但证书已过期?,java,ssl,ssl-certificate,truststore,java-mission-control,Java,Ssl,Ssl Certificate,Truststore,Java Mission Control,我在远程服务器上运行了一个java进程,该进程使用com.sun.management.jmxremoteJVM参数公开了一个SSL配置的JMX端口。该进程使用包含自签名证书的密钥库 我正在本地机器上运行Java任务控制(JMC),以连接到这个远程JMX端口。我已经用信任库设置了JMC,该信任库已经从远程密钥库导入了自签名证书。这一切都很棒,我可以按预期连接到安全SSL 我最近检查了自签名证书的详细信息,惊讶地发现它在一个月前就过期了,因为我本以为无法使用JMC连接到远程进程,但我能够连接得很好

我在远程服务器上运行了一个java进程,该进程使用
com.sun.management.jmxremote
JVM参数公开了一个SSL配置的JMX端口。该进程使用包含自签名证书的密钥库

我正在本地机器上运行Java任务控制(JMC),以连接到这个远程JMX端口。我已经用信任库设置了JMC,该信任库已经从远程密钥库导入了自签名证书。这一切都很棒,我可以按预期连接到安全SSL

我最近检查了自签名证书的详细信息,惊讶地发现它在一个月前就过期了,因为我本以为无法使用JMC连接到远程进程,但我能够连接得很好,没有过期警告

我已经确认它确实在使用这个证书,因为当我在没有信任库的情况下运行JMC并尝试连接时,我得到了一个证书路径构建异常。我还查看了SSL调试,可以看到使用了证书

有人能解释一下为什么我仍然能够使用过期的证书建立这个连接吗?如果这个过程公开了我在浏览器中连接到的RESTful服务,我可能无法连接,或者只会收到一个警告(或者根本不像JMC中那样)


谢谢您的时间。

经过进一步调查,我发现Java任务控制使用的信任管理器将在没有警告的情况下接受过期证书。但是,如果有效证书和过期证书都可用,它会更喜欢有效证书。我不知道这种行为是否可以改变