有一个受证书保护的网络服务。在调用它的客户端代码中,证书的 CA 必须存在于信任库 (JRE_path\lib\security\cacerts) 中 - 如果没有,您会在客户端获得 PKIX 异常。
如果证书过期会发生什么 - 客户端代码失败。
但是,这可以通过将证书直接添加到信任库中来绕过 -信任过期的证书
即,如果证书本身而不是 CA 存在于信任库中,那么即使证书已过期,一切正常。
在我的场景中,webservice 证书是一个自签名证书,所以无论如何我都必须将它添加到信任库中,即使证书过期,客户端也能继续正常工作。
现在我的问题是这是否适用于所有场景 - 我的程序只是一个运行本地 JRE 的命令行程序。
如果有应用程序调用 web 服务并且应用程序在 Websphere、JBoss、WebLogic、Tomcat、Glassfish 等上运行并且自签名证书被添加到该环境的信任库中,我仍然可以假设它会继续工作(不是给出过期的错误)?
我认为它会起作用——因为那些应用程序服务器也会像任何程序一样使用 JRE——或者我错过了什么?