En un protocolo de enlace ssl cliente-servidor, mi servidor envía una cadena de certificados al cliente en un mensaje de saludo del servidor. Pero quiero entender cómo se selecciona esa cadena de certificados en particular.
Mi almacén de claves tiene 5 cadenas
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)
Ahora cada vez que un cliente intenta conectarse a mi servidor (para un servicio web) se está obteniendo la siguiente excepción y el cliente no puede conectarse
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
Intenté volver a conectar pero nuevamente el mismo error con date2 esta vez. Ahora esto no estaba sucediendo antes, incluso cuando había certificados caducados en mi almacén de claves.
¿Puede alguien explicar cómo se selecciona la cadena de certificados en el mensaje de saludo del servidor? Intenté investigar mucho pero no conseguí algo concreto