我有一个在远程服务器上运行的Java进程,该进程使用Call Section
JVM参数公开了SSL配置的JMX端口。该过程使用包含自签名证书的密钥库。
我正在本地计算机上运行Java Mission Control(JMC),以连接到此远程JMX端口。我已使用信任库设置了JMC,该信任库已从远程密钥库导入了自签名证书。一切都很好,我可以按预期连接安全的SSL。
我最近检查了自签名证书的详细信息,很惊讶地看到该证书已在一个月前到期,因为我本来无法使用JMC连接到远程进程,但是我已经能够连接正常,没有到期警告。
我已经确认它确实在使用此证书,就像我在没有信任库的情况下运行JMC并尝试进行连接时,我得到了证书路径构建异常。我还查看了SSL调试,可以看到使用了证书。
有人可以向我解释为什么我仍然可以使用过期的证书建立此连接吗?如果此过程暴露了我在浏览器中连接的RESTful服务,那么我希望它无法连接或者我只会得到警告(或者像在JMC中一样)。
感谢您的时间。
答案 0 :(得分:1)
经过进一步调查,我发现Java Mission Control使用的信任管理器将接受过期的证书而不会发出警告。但是,与过期的证书相比,它应该更有效。我不知道是否可以更改此行为。