JKS keystore.jks 中的自签名证书有效期只有 4 个月左右,而 CA 签名证书的有效期约为 2 年,所以当自签名证书过期时,不会对 SSL 产生任何问题握手?
如果将证书添加到套接字使用的 truststore(创建
TrustManager
数组并将其传递给 SSLContext
),那么 SSLSocket
似乎会将其视为有效。使用创建后 1 秒过期的虚拟证书对此进行测试,这似乎是正确的;客户端连接没有异常或问题,并且可以发送消息。
因此,如果相关客户端明确信任该证书,则客户端应该能够连接。
但是,如果使用另一个拒绝过期证书的实现,客户端很可能会抛出异常。