In un handshake ssl client-server, il mio server invia una catena di certificati al client in un messaggio server-hello. Ma voglio capire come viene selezionata quella particolare catena di certificati.
Il mio keystore ha 5 catene
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)
Ora ogni volta che un client tenta di connettersi al mio server (per un servizio web) l'eccezione che segue viene ottenuta e il client non è in grado di connettersi
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
Ho provato a ricollegare, ma stavolta, lo stesso errore con date2. Ora questo non stava accadendo prima, anche quando c'erano certs scaduti nel mio keystore.
Qualcuno può spiegare come viene selezionata la catena di certificati nel messaggio ciao del server? Ho provato molto a cercare ma non ho potuto ottenere qualcosa di concreto