Estoy trabajando en un proyecto que requiere verificación de certificado para archivos ejecutables. He creado mi propio almacén de certificados raíz de confianza y utilicé openssl para realizar la verificación.
Sin embargo, cuando decidí inspeccionar cómo Windows realiza la verificación de certificados, noté algo y no tenía sentido para mí. Aquí está el problema:
Tengo un archivo ejecutable, llamémoslo test.exe . También tengo el almacén de certificados de confianza que se proporciona con Windows.
Aquí está la captura de pantalla de la tienda, antes de hacer clic con el botón derecho en el archivo y acceder a la pestaña de propiedades / firmas digitales para inspeccionar si el certificado es válido o no. Contiene 26 certificados raíz de confianza y 3 certificados intermedios .
Certificados de raíz de confianza
Ahora,cuandovoyalapestañadepropiedades/firmasdigitaleseinspeccionolafirma,dicequeelcertificadoesválidoyconfiable.
Luegodeinspeccionarestecertificado,TrustedRootCertificatesyIntermediateCertificatestienenuncertificadoadicionalagregadoacadauno.Contienenloscertificados27y4,respectivamente.Aquíestálacapturadepantallaparalatienda:
La herramienta verificadora de certificados de Windows descargó 2 certificados (1 raíz 1 intermedia) al buscar en el campo AIA (Acceso a la información de autoridad) del certificado original, y los agregó al almacén de confianza. Lo que no tenía sentido para mí era cómo la herramienta verificadora de certificados decidía si podía confiar en el certificado raíz ( DigiCert Assured ID Root ID ) que acaba de descargar de AIA campo? Porque me parece que el verificador confió en el nuevo certificado raíz que el sistema no tiene en su almacén de certificados de confianza. ¿Cómo se puede explicar este proceso?