Uno de mis desarrolladores recientemente tuvo un problema con la compatibilidad de un certificado, y lo rastreamos un poco hasta que encontramos un un problema similar en SO .
Una vez que entendí el problema inicial del desarrollador (el certificado original se generó con un proveedor de CNG, en lugar del heredado), esperaba tener que volver a crear el CSR con el parámetro compatible y enviarlo a la CA para volver a firmar.
Sin embargo, la lista de Preguntas vinculadas me llevó a una respuesta no aceptada sobre otra pregunta , que sugiere que openssl
podría ser para dividir el PFX existente en un par de PEM, cambie el parámetro CSP del archivo privado de PEM a uno compatible con la aplicación, luego vuelva a crear el PFX.
Dejando de lado la conversión de PFX-PEM-PFX, era escéptico de que el cambio del archivo de clave privada funcionaría, porque pensé que eso haría que la firma cambiara, y por lo tanto ya no se validaría. Sin embargo, para mi sorpresa, parece haber funcionado y el desarrollador pudo continuar sin más problemas.
Esto me hizo preguntarme, ¿qué parte del certificado está realmente cubierto por el proceso de firma? ¿Qué hay para evitar que alguien use la misma herramienta (o similar) para cambiar la fecha de caducidad, agregar otro nombre alternativo del sujeto o eliminar la información de CRL u OSCP (por ejemplo)?