Как я могу подписать элемент управления ActiveX с сертификатом для подписывания кода и быть проверенным издателем?

Я пытаюсь подписать элемент управления ActiveX с сертификатом для подписывания кода, выпущенным Thawte. Я смог успешно подписать управление с помощью signtool.exe.

Когда я смотрю на свойства файла, это говорит, что "Сертификат в подписи не может быть проверен".

Когда я просматриваю сертификат, он говорит, что "Windows не имеет достаточной информации для проверки сертификата".

На вкладке пути сертификации это говорит, что "Выпускающий этого сертификата не может быть найден".

В Internet Explorer сертификат распознан, как подписано, но пользователь получает предупреждения, что издатель не проверяется.

Я попытался создать единственный файл PFX, содержащий мой сертификат наряду с корневыми и промежуточными сертификатами что цепочка к моему сертификату разработчика Thawte и затем отставка управления с помощью этого файл PFX. Провал.

Какие-либо предложения?

1
задан davidcl 25 December 2011 в 16:27
поделиться

1 ответ

Вопрос содержит правильную процедуру - сделайте подпись с помощью PFX файла, который содержит корневой сертификат, промежуточный сертификат, сертификат разработчика и закрытый ключ. Также используйте сервер временных меток. Моя проблема заключалась в том, что я включил в PFX неправильный корневой сертификат, поэтому сертификат, используемый для подписи, не мог быть привязан к корню.

По запросу, вот информация о том, как создать файл PFX. cert2spc и pvk2pfx, которые я использую ниже, также находятся в SDK платформы.

cert2spc certpath1.cer certpath2.cer certpath3.cer codesign.spc

Где список .cer файлов включает корневой, промежуточный и сертификат подписи кода, а codesign.spc является выходным файлом. Затем:

pvk2pfx -pvk privkey.pvk -spc codesign.spc

Запуск pvk2pfx таким образом запускает мастер, который запрашивает парольную фразу закрытого ключа, местоположение выходного файла и парольную фразу для выходного файла.

Наконец, signtool выполняет фактическую подпись кода:

signtool sign /f my_certificates.pfx /p my_passphrase /t http://timestamp.verisign.com/scripts/timstamp.dll my_activex_control.ocx

Оглядываясь назад, я мог бы сэкономить время, используя signcode.exe aka мастер подписи кода (который, как я думаю, является частью .NET SDK), который использует .spc и .pvk файлы напрямую.

2
ответ дан 3 September 2019 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: