¿TrustManager PKIX (o RFC 3280 / X.509) realmente verifica la fecha de vencimiento del certificado de cliente?

2

Se observó que la implementación predeterminada de java de TrustManagerFactory para el algoritmo del administrador de confianza de PKIX ( X509ExtendedTrustManager ) no verifica realmente la fecha de vencimiento del certificado del cliente durante la autenticación SSL.

Esto podría comprobarse fácilmente: configure Apache Tomcat 7.x con autenticación de cliente SSL. Ponga en el almacén de confianza el certificado de cliente caducado. En el lado del cliente, establezca el tiempo del sistema en el tiempo pasado, cuando el certificado no caducó. Voila , el cliente puede autenticar con éxito en el servidor web.

La pregunta es: ¿es correcto ese comportamiento y corresponde a RFC 3280, o es el error?

    
pregunta Andremoniy 16.11.2015 - 12:00
fuente

1 respuesta

2

No, no lo hace y no, no es un error. Para lo que vale, no veo nada explícito en RFC 3280 que obligue a que la validación de la ruta falle en los certificados caducados.

Si tiene un certificado en el almacén de confianza javax.net.ssl, los TrustManagers predeterminados confiarán en él independientemente de su vencimiento.

No hay nada en el JavaDoc que sugiera que compruebe el vencimiento. Yo diría que es por diseño.

Me sumergí bastante en la fuente JCL y no intenta verificar la caducidad del certificado.

Otros usuarios han encontrado y verificado este comportamiento: enlace

Necesitará su propio TrustManager para hacer cumplir esto.

    
respondido por el Alain O'Dea 17.11.2015 - 17:57
fuente

Lea otras preguntas en las etiquetas