- Supongamos que tenemos una aplicación del cliente que se comunica con un servidor a través de SSL.
- Supongamos también que el cliente está utilizando la fijación de certificados SSL, es decir, el cliente rechazará el certificado del servidor a menos que se ajuste a un código duro específico con el que se lanzó el cliente.
Como los certificados tienen fechas de vencimiento, el certificado anclado del servidor eventualmente tendrá que ser reemplazado. Este proceso generalmente requiere alguna actualización del lado de la aplicación / cliente para que el cliente esté al tanto del nuevo certificado 'para fijar'.
¿Existen prácticas recomendadas sobre cómo se puede gestionar esta transición / cambio?
Estoy pensando en algo más sofisticado que dos personas presionando un botón al mismo tiempo (es decir, el certificado del servidor se está actualizando y la aplicación obliga al usuario a actualizar) ... Los procesos organizativos El involucrado aquí puede ser no trivial, especialmente porque los ciclos de lanzamiento y mantenimiento del cliente / servidor / operaciones pueden ejecutarse de acuerdo con diferentes programas y prioridades.
Tal vez algo como (estoy escribiendo un enfoque bastante ingenuo aquí):
- El cliente tiene múltiples certificados almacenados para el servidor, con períodos de validez diferentes pero que se superponen.
- Si un certificado anclado ha caducado, el cliente verifica si tiene otro diferente aún válido ...
- > Esto permitiría que los nuevos certificados "anclados" para un servidor se entreguen mucho antes de que realmente se cambien los certificados en el servidor.