Usamos la fijación de certificados cuando desarrollamos para iOS y Android. Usamos certificados regulares de 12 meses que se pagan.
Recientemente cambiamos a Lets Encrypt (LE) para los certificados de nuestro sitio web general y nos gustaría usar certificados LE también en nuestras aplicaciones móviles.
El problema es que nuestro marco actual de fijación de certificados requiere que la aplicación se vuelva a enviar con cada nuevo certificado, por lo que si usa LE, esto sería cada 3 meses (la duración máxima de un certificado LE). Esto no es práctico.
He investigado alternativas y la más viable parece ser la clave pública de hash. Así que consulte el servidor, obtenga el certificado, extraiga la clave pública y compárelo con un hash que tenemos almacenado en el binario de la aplicación.
Este método significa que crearemos manualmente la Solicitud de firma de certificado (CSR) utilizada para LE, ya que actualmente solo crea una nueva con cada solicitud de certificado, con el fin de conservar el par de claves original.
Mi pregunta: ¿esta clave pública de hash es la mejor solución para un certificado a largo plazo dentro de una aplicación móvil?