Sto lavorando a un progetto che richiede la verifica del certificato per i file eseguibili. Ho creato il mio negozio di certificati radice attendibile e ho utilizzato openssl per eseguire la verifica.
Tuttavia, quando ho deciso di verificare come Windows esegue la verifica dei certificati, ho notato qualcosa e non aveva senso per me. Ecco il problema:
Ho un file eseguibile, chiamiamolo test.exe . Ho anche l'archivio certificati attendibili fornito con Windows.
Ecco lo screenshot dello store, prima di fare clic con il pulsante destro del mouse sul file e andare alla scheda properties / digital signatures per verificare se il certificato è valido o meno. Contiene 26 certificati radice affidabili e 3 certificati intermedi .
Certificati di radice affidabili
Ora,quandovadonellaschedaProprietà/Firmedigitalieispezionolafirma,ilcertificatoèvalidoeaffidabile.
Dopoaveresaminatoquestocertificato,iCertificatiradiceattendibilieCertificatiintermedihannoaggiuntounaltrocertificatoaciascunodiessi.Contengonorispettivamente27e4certificati.Eccoloscreenshotperilnegozio:
Lo strumento di verifica dei cert di Windows ha scaricato 2 certificati (1 root 1 intermedio) esaminando il campo AIA (Authority Information Access) del certificato cerfificate originale e aggiunto entrambi al trust store. Quello che non aveva senso per me era, come ha fatto lo strumento di verifica della certenza decidere se fidarsi o meno del certificato di root ( CA di CA di DigiCert Assured ID ) che ha appena scaricato da AIA campo? Perché, a mio parere, il verificatore si è fidato del nuovo certificato radice che il sistema non ha nel proprio archivio certificati attendibile. Come può essere spiegato questo processo?