SSL/TLS 握手中的“服务器问候”消息期间选择证书链的逻辑?
Logic for choosing a certificate chain during a “server-hello” message in a SSL/TLS handshake?
在客户端-服务器 ssl 握手中,我的服务器在服务器问候消息中将证书链发送回客户端。但我想了解如何选择特定的证书链。
我的密钥库有 5 个链
chain1>
privatekey (expired at let's say date1) --
intermediate or server cert (valid) --
root (valid)
chain2>
privatekey cert (valid for 6 more months)--
intermediate or server cert (valid)--
root (valid)
chain3>
privatekey cert (expired at lets say date2) --
intermediate or server cert (valid)--
root (valid)
chain4>
privatekey cert (valid for 1 year) --
intermediate or server cert (valid)--
root (valid)
chain5>
privatekey cert (expired at lets say date3) --
intermediate or server cert (valid)--
root (valid)
现在,每当客户端尝试连接到我的服务器(对于网络服务)时,就会出现以下异常,客户端无法连接
sun.security.validator.ValidatorException: PKIX path validation
failed: java.security.cert.CertPathValidatorException: timestamp check
failed. .................. more lines.. caused by
java.security.cert.CertPathValidatorException: timestamp check
failed........ more lines.. caused by
java.security.cert.CertPathValidatorException: NotAfter : date1
尝试重新连接,但这次 date2 再次出现同样的错误。现在,即使我的密钥库中有过期的证书,这也不会更早发生。
谁能解释一下如何在服务器问候消息中选择证书链?我尝试了很多研究,但无法得到具体的东西
这不是 'impossible to answer',与评论中告诉您的相反。
- 选择的证书满足客户端在
ClientHello
消息中提供的签名者、密码套件和协议。
- 如果有选择,如果您已经安装了
KeyManager
,那就是在控制之中:否则,JSSE 在控制之中并且没有进一步指定。
在客户端-服务器 ssl 握手中,我的服务器在服务器问候消息中将证书链发送回客户端。但我想了解如何选择特定的证书链。
我的密钥库有 5 个链
chain1>
privatekey (expired at let's say date1) --
intermediate or server cert (valid) --
root (valid)
chain2>
privatekey cert (valid for 6 more months)--
intermediate or server cert (valid)--
root (valid)
chain3>
privatekey cert (expired at lets say date2) --
intermediate or server cert (valid)--
root (valid)
chain4>
privatekey cert (valid for 1 year) --
intermediate or server cert (valid)--
root (valid)
chain5>
privatekey cert (expired at lets say date3) --
intermediate or server cert (valid)--
root (valid)
现在,每当客户端尝试连接到我的服务器(对于网络服务)时,就会出现以下异常,客户端无法连接
sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed. .................. more lines.. caused by java.security.cert.CertPathValidatorException: timestamp check failed........ more lines.. caused by java.security.cert.CertPathValidatorException: NotAfter : date1
尝试重新连接,但这次 date2 再次出现同样的错误。现在,即使我的密钥库中有过期的证书,这也不会更早发生。
谁能解释一下如何在服务器问候消息中选择证书链?我尝试了很多研究,但无法得到具体的东西
这不是 'impossible to answer',与评论中告诉您的相反。
- 选择的证书满足客户端在
ClientHello
消息中提供的签名者、密码套件和协议。 - 如果有选择,如果您已经安装了
KeyManager
,那就是在控制之中:否则,JSSE 在控制之中并且没有进一步指定。