Поделиться через


Подписывание Authenticode сторонних поставщиков служб шифрования (CSP)

Подписывание Сторонних поставщиков Authenticode для пользовательских поставщиков служб шифрования (CSP) доступно в Windows Vista и более поздних версиях.

Следовательно, корпорация Майкрософт больше не будет подписывать поставщики служб конфигурации, а служба подписывания CSP вручную прекращена. Сообщения электронной почты и поставщики служб конфигурации, отправленные cspsign@microsoft.com или cecspsig@microsoft.com подписанные, больше не будут обрабатываться корпорацией Майкрософт.

Вместо этого все сторонние поставщики конфигураций теперь могут быть самозаверяемыми, выполнив следующую процедуру:

  1. Приобретите сертификат подписи кода в центре сертификации (ЦС), для которого корпорация Майкрософт также выдает перекрестный сертификат. Раздел Cross-Certificates for Kernel Mode Code Signing (Перекрестные сертификаты для подписи кода в режиме ядра ) содержит список центров сертификации, для которых корпорация Майкрософт также предоставляет кросс-сертификаты и соответствующие кросс-сертификаты. Обратите внимание, что это единственные кросс-сертификаты, которые связаны с корнем проверки кода Майкрософт, выданным корпорацией Майкрософт, что позволит Windows запускать сторонние поставщики служб конфигурации.
  2. Получив сертификат из ЦС и соответствующий перекрестный сертификат, вы можете использовать SignTool для подписи всех двоичных файлов CSP.
  3. SignTool входит в последние версии Visual Studio. Он также входит в состав WDK версии 7.0 и более поздних версий. Обратите внимание, что signTool, поставляемый с более ранними версиями WDK, несовместим с перекрестными сертификатами и не может использоваться для подписывания двоичных файлов.

Примечание

Начиная с Windows 8, подписывание поставщиков служб конфигурации больше не является обязательным.

Вы можете подписать двоичные файлы из командной строки или как интегрированный шаг сборки в Visual Studio 2012 и более поздней версии.

Команда для SignTool :

signtool.exe sign /ac <cross-certificate_from_ms> /sha1 <sha1_hash> /t <timestamp_server> /d <”optional_description_in_double_quotes”> <binary_file.ext>
  • <кросс-certificate_from_ca> — это файл между сертификатами, скачанный с сайта Майкрософт
  • < > sha1_hash — это отпечаток SHA1, соответствующий сертификату подписи кода.
  • < > timestamp_server — это сервер, используемый для метки времени операции подписывания.
  • <"optional_description_in_double_quotes"> — необязательное описание понятного имени
  • <binary_file.ext> — это файл для подписывания.

Пример:

signtool.exe sign /ac certificate.cer /sha1 553e39af9e0ea8c9edcd802abbf103166f81fa50 /t "http://timestamp.digicert.com" /d "My Cryptographic Service Provider" csp.dll

Примечание

Не нужно включать идентификатор ресурса 666 в библиотеку DLL CSP или подпись в реестре, как это было необходимо для более старых подписей CSP.

Дополнительная справка и поддержка

За помощью можно воспользоваться форумом По безопасности приложений для Windows Desktop .