Как я могу подписать элемент управления ActiveX с сертификатом подписи кода и быть проверенным издателем?
Я пытаюсь подписать элемент управления ActiveX сертификатом подписи кода, выданным Thawte. Мне удалось успешно подписать элемент управления с помощью signtool.exe.
Когда я смотрю на свойства файла, он говорит: "Сертификат в подписи не может быть проверен".
Когда я просматриваю сертификат, он говорит: "В Windows недостаточно информации для проверки сертификата".
На вкладке пути сертификации написано: "Не удалось найти поставщика этого сертификата".
В Internet Explorer сертификат распознается как подписанный, но пользователь получает предупреждения о том, что издатель не проверен.
Я попытался создать один файл PFX, содержащий мой сертификат вместе с корневым и промежуточным сертификатами, которые связаны с моим сертификатом разработчика Thawte, а затем повторно подписать элемент управления с помощью этого файла PFX. Нет кости.
Какие-либо предложения?
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 или мастер подписи кода (который, я думаю, является частью.NET SDK), который напрямую использует файлы.spc и.pvk.