Средства шифрования
Средства шифрования предоставляют средства командной строки для подписывания кода, проверки подписи подписи и других задач шифрования.
Знакомство с подписыванием кода
Отрасль программного обеспечения должна предоставлять пользователям средства доверия коду, включая код, опубликованный в Интернете. Многие веб-страницы содержат только статические сведения, которые можно скачать с небольшим риском. Однако некоторые страницы содержат элементы управления и приложения для скачивания и запуска на компьютере пользователя. Эти исполняемые файлы могут быть рискованными для скачивания и запуска.
Упаковаемое программное обеспечение использует фирменную символику и доверенные торговые точки для обеспечения целостности, но эти гарантии недоступны при передаче кода в Интернет. Кроме того, сам Интернет не может гарантировать личность создателя программного обеспечения. Кроме того, он не может гарантировать, что любое скачаемое программное обеспечение не было изменено после его создания. Браузеры могут вывести предупреждающее сообщение, объясняющее возможные опасности скачивания данных любого вида, но браузеры не могут проверить, что код является тем, что он утверждает. Необходимо использовать более активный подход, чтобы сделать Интернет надежным средством распространения программного обеспечения.
Одним из подходов к обеспечению гарантии подлинности и целостности файлов является присоединение цифровых подписей к этим файлам. Цифровая подпись, присоединенная к файлу, положительно идентифицирует распространитель этого файла и гарантирует, что содержимое файла не было изменено после создания подписи.
Цифровые подписи можно создавать и проверять с помощью 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 | Подписи и метки времени для файла. Кроме того, проверяет подпись файла. |