windows - Driver Installer mislykkes, fordi Cross Signing Chain ikke indeholder microsoft

Indlæg af Hanne Mølgaard Plasc

Problem



Ved du, hvorfor 'Microsoft Code Verification Root' mangler fra en signaturcertifikatkæde?


Vi har for nylig flyttet et byggesystem mellem to domæner og skulle geninstallere certs. Vi fandt ud af, at vi havde et underskriftsproblem, hvor Microsoft ikke var i kæden, hvilket forårsagede kerneforvalterens afvisning under installationen.


Vi har bemærket, at vi havde 2 yderligere certs i certmgr: Trusted Publisher: Certificates



  • Klasse 3 Offentlig Primærcertificering ..

  • Verisign klasse 3-kode underskrift ...



Når du har deaktiveret Klasse 3 offentlig primær certificering , 'problemet' gik væk, og vi har den rette signaturkæde med Microsoft ovenpå.


Jeg er ikke sikker på, hvordan Klasse 3 offentlig primær certificering er installeret eller hvad vi bruger det og tester for at se, hvilke virkninger vi måtte have.


Har nogen kørt ind i denne slags problem, og hvordan har de henvendt sig til det? Er der en måde at deaktivere brugen af ​​klassen 3 på kommandolinjen, så jeg kan forlade certmgr-indstillingen alene og derved reducere risikoen?


Tak for hjælpen


Peter


Sign Command


signtool.exe sign /v /ac MSCV-VSClass3.cer /s TrustedPublisher /n "My Corp" /t http://timestamp.verisign.com/scripts/timstamp.dll mydriver.sys


Sign Verification
    signtool verificere/kp/v mydriver.sys


*** Signing Certificate Chain:
*** Issued to: Class 3 Public Primary Certification Authority
*** Issued by: Class 3 Public Primary Certification Authority
*** Expires:   8/2/2028 7:59:59 PM
*** SHA1 hash: xxxxxxxxxxxxxxxxxx

    Issued to: VeriSign Class 3 Code Signing 2009-2 CA
    Issued by: Class 3 Public Primary Certification Authority
    Expires:   5/20/2019 7:59:59 PM
    SHA1 hash: xxxxxxxxxxxxxxxxxx

        Issued to: My Corp
        Issued by: VeriSign Class 3 Code Signing 2009-2 CA
        Expires:   9/10/2013 8:59:59 PM
        SHA1 hash: xxxxxxxxxxxxxxxxxx

Bedste reference


I teorien kan jeg installere krydsskiltcerten fra verisign, der matcher mit cert i en cert-butik, og signtool vil automatisk bruge det. Dette kan dog føre til, at den forkerte cert bruges til at krydse tegn.


At være eksplicit er bedre



  • Installer min cert i trustedpublisher butik for den bruger, der signerer via certmgr.msc

  • Hent den rigtige cert for din cert (https://knowledge.verisign.com/support/code-signing-support/index?page=contentu0026amp;actp=CROSSLINKu0026amp;id=SO5820)

  • Vær eksplicit, når du underskriver



SignTool.exe sign /v /s trustedpublisher /ac path-to-retrieved-certMSCV-VSClass3.cer /n myCertName /t http://timestamp.verisign.com/scripts/timestamp.dll driver-file-to-sign [6]



  • Bekræft



SignTool.exe verify /kp /v drive-file-to-check


eller hvis du har en katalogfil


SignTool.exe verify /kp /v /c driver-cat-file.cat drive-sys-file.sys

Andre referencer 1


Vi sammenlignede to byggesystemer, og vi fandt en ekstra klasse 3 offentlig primær certifikat i vores certmgr-fortrolige udgiverliste på det dårlige system. Dette matchede det øverste niveau i vores kæde. Vi har deaktiveret denne publicering, og toppen af ​​kæden blev gendannet til microsoft.


Så vi har stadig spørgsmål, men det ser ud til at have løst vores problem uden at have negative virkninger for andre bygninger.