Средства шифрования

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

Знакомство с подписыванием кода

Отрасль программного обеспечения должна предоставлять пользователям средства доверия коду, включая код, опубликованный в Интернете. Многие веб-страницы содержат только статические сведения, которые можно скачать с небольшим риском. Однако некоторые страницы содержат элементы управления и приложения для скачивания и запуска на компьютере пользователя. Эти исполняемые файлы могут быть рискованными для скачивания и запуска.

Упаковаемое программное обеспечение использует фирменную символику и доверенные торговые точки для обеспечения целостности, но эти гарантии недоступны при передаче кода в Интернет. Кроме того, сам Интернет не может гарантировать личность создателя программного обеспечения. Кроме того, он не может гарантировать, что любое скачаемое программное обеспечение не было изменено после его создания. Браузеры могут вывести предупреждающее сообщение, объясняющее возможные опасности скачивания данных любого вида, но браузеры не могут проверить, что код является тем, что он утверждает. Необходимо использовать более активный подход, чтобы сделать Интернет надежным средством распространения программного обеспечения.

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

Цифровые подписи можно создавать и проверять с помощью API шифрования Майкрософт. Общие сведения о шифровании и функциях CryptoAPI см. в разделе Cryptography Essentials.

Подробные сведения о цифровых подписях, сертификатах и хранилищах сертификатов см. в следующих разделах:

В настоящее время средства CryptoAPI поддерживают технологию Microsoft Authenticode, позволяя поставщикам программного обеспечения подписывать следующие типы файлов для проверки Authenticode.

Расширение имени файла Содержимое
.appx, .msix, .appxbundle, .msixbundle
Упакованные приложения Windows.
CAB
Автономные файлы, используемые для установки и установки приложения. В шкафу несколько файлов сжимаются в один файл. Они обычно находятся на дисках распространения программного обеспечения Майкрософт.
CAT
Файлы, содержащие цифровые отпечатки нескольких файлов. Cat-файл можно использовать для обеспечения целостности файлов, включаемых в него отпечатков.
DLL
Файлы, содержащие исполняемые функции.
EXE
Файлы, содержащие исполняемые программы.
.js
.vbs
.wsf
Windows файлы оболочки для JScript или Microsoft Visual Basic Scripting Edition (VBScript).
.msi
MSP
MST
Windows файлы установщика.
OCX
Файлы, содержащие элементы управления Microsoft ActiveX.
PS1
Файлы, содержащие скрипты PowerShell.
.stl
Файлы, содержащие список доверия сертификатов (CTL).
.sys
Файлы, содержащие двоичные файлы драйверов.

 

Сведения о цифровой подписи см. в следующих документах:

  • CCITT, рекомендация X.509, Платформа Directory-Authentication, Консультативный комитет, Международный телефон и телеграф, Международный телекоммуникационный союз, Женева, 1989.
  • Лаборатории RSA, PKCS #7: стандарт синтаксиса криптографических сообщений. Версия 1.5, ноябрь 1993 г.
  • Шнайер, Брюс, примененная криптография, 2d ed. Нью-йорк: Джон Wiley & Sons, 1996.
  • https://www.rsa.com

Примечание

Эти ресурсы могут быть недоступны в некоторых языках и странах или регионах.

 

Средства шифрования (Майкрософт)

Средства публикации и библиотека DLL подписывания устанавливаются в каталог \Bin установки Microsoft SDK. Они включают следующие файлы.

Имя файла Remarks
Cert2SPC.exe Создает сертификат программного Publisher (SPC) только для целей тестирования.
CertMgr.exe Управляет списками отзыва сертификатов, списков сертификатов и сертификатов .
MakeCat.exe Создает файл каталога без знака, содержащий хэши набора файлов, а также связанные атрибуты каждого файла.
MakeCert.exe Создает сертификат X.509 только для тестирования.
Pvk2pfx.exe Преобразует файл сертификата издателя программного обеспечения (SPC) или файл закрытого ключа (PVK) в формат файла персональных данных Exchange (PFX).
SetReg.exe Задает разделы реестра, управляющие проверкой сертификата.
SignTool.exe Подписи и метки времени для файла. Кроме того, проверяет подпись файла.