Сбой при установке драйвера, потому что в цепи перекрестной подписи нет Microsoft - PullRequest
5 голосов
/ 31 августа 2011

Знаете ли вы, почему в цепочке сертификатов подписи отсутствует «Root Verification Root» Microsoft?

Недавно мы переместили систему сборки между двумя доменами и пришлось переустановить сертификаты.Мы обнаружили, что у нас была проблема с подписью, когда Microsoft не была в цепочке, что приводило к отклонению драйвера ядра во время установки.

Мы заметили, что у нас есть 2 дополнительных сертификата в certmgr: Trusted Publisher: Certificates

  • Общая первичная сертификация класса 3 ..
  • Verisign Code 3 Signing ...

После отключения Общая первичная сертификация класса 3"проблема"ушел, и у нас есть правильная цепочка подписания с Microsoft на вершине.

Я не уверен, как была установлена ​​ Public 3 Public Primary Certification или что мы используем, и я проверяю, чтовоздействия, с которыми мы можем столкнуться.

Кто-нибудь сталкивался с такой проблемой и как они к ней подошли?Есть ли способ отключить использование класса 3 в командной строке, чтобы я мог оставить настройку certmgr в одиночку, тем самым уменьшая риск?

Спасибо за помощь

Peter

Команда знака

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

Проверка знака Проверка знака / 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

Ответы [ 2 ]

4 голосов
/ 20 января 2012

Теоретически, я могу установить сертификат перекрестного подписания от verisign, который соответствует моему сертификату, в хранилище сертификатов, и signtool автоматически его использует.Однако это может привести к неверному сертификату, используемому для перекрестной подписи.

Быть явным лучше -

SignTool.exe sign /v /s trustedpublisher /ac path-to-retrieved-cert\MSCV-VSClass3.cer /n myCertName /t http://timestamp.verisign.com/scripts/timestamp.dll driver-file-to-sign

  • Подтвердить

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

или если у вас есть файл каталога

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

0 голосов
/ 07 октября 2011

Мы сравнили две системы сборки и нашли дополнительный публичный первичный сертификат класса 3 в нашем списке доверенных издателей certmgr на плохой системе.Это соответствует высшему уровню в нашей сети.Мы отключили эту публикацию, и вершина цепочки была восстановлена ​​до Microsoft.

Итак, у нас все еще есть вопросы, но это, похоже, решило нашу проблему без вредных последствий для других сборок.

...