пятница, 22 апреля 2011 г.

VeriSign "Signtool Error: The provided cross certificate would not be present in the certificate chain."

Проблема

Попытка подписать драйвер сертификатом от VeriSign и кросс-сертификатом от Microsoft:
%WDKPATH%\Bin\x86\signtool.exe sign /v /ac MSCV-VSClass3.cer /f cert.pfx /p password /t http://timestamp.verisign.com/scripts/timtamp.dll driver.sys
Не увенчалась успехом:
Signtool Error: The provided cross certificate would not be present in the certificate chain.
Алгоритм подписания рабочий и проверенный. Изучение базы знаний US Home > Support > Code Signing Support с ходу результата не дало.

Решение

Помог поиск по сайту OSR Online. Опытом любезно поделился David Schwartz Warning on 2010 - 2011 VeriSign Code Signing Certificate Renewal. Насколько я понял, суть проблемы в том что Microsoft не выпустила обновлённый кросс-сертификат для новых сертификатов от VeriSign.

Пошаговая инструкция из базы знаний которая помогает решить данную проблему: Signtool Error: The provided cross certificate would not be present in the certificate chain for Microsoft Authenticode 64-bit kernel mode signing (немного не очевидно что она находится в разделе US Home > Support > SSL Certificates).

Для того что бы не делать это каждый раз вручную, прилагаю командный файл (подразумеваю что у Вас WDK присутствует):
:: Delete invalid certificate from Intermediate Certification Authorities
:: Name: "VeriSign Class 3 Code Signing 2010 CA" 
:: SN: "52 00 E5 AA 25 56 FC 1A 86 ED 96 C9 D4 4B 33 C7"
%WDKPATH%\Bin\x86\CertMgr.exe -del -c -sha1 495847a93187cfb8c71f840cb7b41497ad95c64f -s CA

:: Import new certificate to Intermediate Certification Authorities
:: Name: "VeriSign Class 3 Code Signing 2010 CA"
:: SN: "4d 62 90 e5 8c 54 f0 f1 eb 17 34 1a 13 10 e6 a4"
%WDKPATH%\Bin\x86\CertMgr.exe -add -c "%~dp0\VeriSign Alternative Intermediate CA.cer" -s CA
Альтернативный, промежуточный, сертификат можно скачать здесь.

В пошаговой инструкции VeriSign указано что нужно удалить два сертификата. Но, на моём компьютере нет "VeriSign Class 3 Public Primary Certification Authority - G5" (серийный номер: 25 0c e8 e0 30 61 2e 9f 2b 89 f7 05 4d 7c f8 fd). Буду признателен если кто-то подскажет его sha1 хеш.

Рабочая среда: Windows 7 x64, WDK 7600.16385.1

Комментариев нет:

Отправить комментарий