En mi aplicación, el usuario humano acepta el certificado servidor X.509, verificando la huella digital durante la primera conexión. La huella digital se almacena en el software de cliente . En las conexiones posteriores, solo ese certificado particular es aceptado por el cliente .
Si el servidor renueva su propio certificado, la huella digital naturalmente no coincide más y el usuario tiene que verificar y aceptar la nueva huella digital nuevamente.
Quiero relajar esta restricción y aceptar este certificado, y también cualquier renovación (tal vez incluso cambiar ) de la misma.
El certificado de servidor es emitido por una CA, en la que confía el software del cliente. Así que mi nuevo cheque en el lado del cliente será como:
- Verifique que la huella digital coincida con la registrada. Aceptar la conexión en caso afirmativo.
- Verifique que el certificado sea emitido por una CA de confianza. Rechazar la conexión si no.
- Compruebe si se trata de un certificado anterior renovado, acepte la conexión en caso afirmativo, rechace lo contrario.
Pregunta: ¿Cómo se puede implementar la última comprobación? ¿Cómo puedo saber que un certificado C2 es de hecho una renovación (o cambio de clave) de otro certificado C1?