Параметры подписывания кода для разработчиков приложений Windows

Если вы публикуете приложение как пакет MSIX через Microsoft Store, подписывание кода бесплатно и обрабатывается автоматически— Майкрософт повторно подписывает пакет после сертификации, и вам не нужно приобретать или управлять сертификатом. При публикации в качестве установщика MSI/EXE через Магазин вы должны подписать его с помощью Authenticode перед отправкой. Все остальное в этой статье относится к приложениям, распределенным outside Microsoft Store.

Сравнение на первый взгляд

Опция Cost Availability Поведение функции SmartScreen Магазин, подходящий лучше всего подходит для
Microsoft Store (MSIX) — Магазин повторно подписывает пакет. Бесплатно По всему миру ✅ Нет предупреждений ✅ Да Рекомендуется для большинства новых приложений
Microsoft Store (установщик MSI/EXE) — издатель должен подписать Привязка сертификатов к требуемому ЦС доверенной корневой программы (зависит от ЦС) По всему миру ✅ Запросов SmartScreen нет при установке из Магазина (UAC может всё ещё появиться) ✅ Да Существующие приложения Win32, отправляемые через путь установки с помощью MSI/EXE
Azure Подписание артефактов (прежнее название — доверенное подписание) ~$9,99/месяц Организации: США, Канада, ЕС, Великобритания. Частные лица: только США и Канада ⚠️ Репутация строится с течением времени; предупреждения на начальном этапе являются ожидаемыми ❌ Нет Рекомендуется для распространения вне магазина приложений
Сертификат OV (из ЦС, например DigiCert, Sectigo) $150–300/год По всему миру ️ То же, что и подписывание артефактов Azure — создание репутации со временем ❌ Нет Разработчики, которые не могут использовать подписание артефактов Azure или предпочитают традиционные центры сертификации
Сертификат EV $400+/год По всему миру ⚠️ То же, что и OV с 2024 г., — больше не происходит мгновенного обхода ❌ Нет Больше не рекомендуется специально для обхода SmartScreen
Самозаверяющий сертификат Бесплатно ❌ Блокирует установку для общедоступных пользователей ❌ Нет Только для разработки/тестирования или предприятий с управляемой системой доверия сертификатов.
Подпись отсутствует Бесплатно ❌ Надежный блок SmartScreen; предприятия могут полностью блокировать ❌ Нет Не рекомендуется для общедоступного распространения

Microsoft Store — отправки MSIX: подпись не требуется

Публикация пакета MSIX через Microsoft Store является рекомендуемым путем распространения для большинства приложений Windows. Майкрософт автоматически подписывает пакет, что означает, что пользователи никогда не видят предупреждения SmartScreen, и вам никогда не нужно приобрести или продлить сертификат.

Замечание

Если вы отправляете установщик Win32 MSI или EXE в Магазин (а не пакет MSIX), Майкрософт не будет переподписывать установщик. Установщик и его PE-файлы должны быть подписаны сертификатом, который связан с Центром сертификации в программе доверенных корневых сертификатов Майкрософт — самозаверяющие сертификаты не могут использоваться. См. требования к пакету приложений для MSI/EXE.

Создайте бесплатную учетную запись разработчика на storedeveloper.microsoft.com. После регистрации используйте Центр партнеров для отправки приложения и управления его описанием.

Опубликуйте приложение в Microsoft Store

Служба подписывания артефактов Azure (ранее Доверенное подписывание) Майкрософт является рекомендуемой службой подписывания кода для разработчиков, распространяющих приложения за пределы Майкрософт Store.

Основные сведения:

  • Стоимость: Примерно $ 9,99/месяц - значительно меньше, чем традиционный сертификат OV или EV
  • Проверка идентификации: Майкрософт проверяет вашу организацию или личность перед выдачей сертификатов; планируйте на несколько рабочих дней для проверки.
  • Не требуется аппаратный токен: Подписание интегрируется непосредственно с конвейерами CI/CD (GitHub Actions, Azure DevOps и т. д.) — физический USB-токен не нужен.
  • Поведение SmartScreen: Та же модель создания репутации, что и с сертификатами OV — новые файлы будут отображать предупреждение SmartScreen, пока они не накапливают достаточный журнал загрузок. Подписание артефактов Azure не обеспечивает мгновенного доверия SmartScreen.

Это важно

Географическое ограничение: Подписывание артефактов Azure доступно организациям в США, Канаде, Европейском союзе и Соединенном Королевстве. Отдельные разработчики в настоящее время ограничены США и Канадой. Если вы являетесь отдельным разработчиком за пределами этих регионов, ознакомьтесь с сертификатами OV ниже.

Документация по подписанию артефактов Azure
Подписать пакет MSIX с помощью SignTool

Сертификаты OV — традиционный вариант ЦС

Организационно подтверждённые (OV) сертификаты от центра сертификации, такие как DigiCert, Sectigo или GlobalSign, являются давно зарекомендовавшим себя вариантом для подписывания кода. Они являются правильным выбором, когда:

  • Вы находитесь за пределами США, Канады, ЕС или Великобритании (организаций); или за пределами США или Канады (разработчиков) и не могут использовать подписание артефактов Azure.
  • У вашей организации уже есть связь с определенным Центром сертификации
  • Ваши корпоративные клиенты требуют сертификат от определенного центра сертификации

Основные сведения:

  • Стоимость: Обычно $150–300/год в зависимости от уровня ЦС и сертификата
  • Проверка идентичности: Удостоверяющий центр (УЦ) проверяет юридическую личность вашей организации перед выдачей сертификата; это может занять несколько рабочих дней
  • Требование HSM: По состоянию на июнь 2023 г. Форум CA/Browser требует, чтобы закрытые ключи для OV-сертификатов хранились на аппаратном модуле безопасности (HSM) или аппаратном токене. Большинство ЦС предоставляют совместимый USB-токен или облачный HSM.
  • поведение SmartScreen: Эквивалентно подписанию артефактов Azure — репутация накапливается по хэшу файла с течением времени. Ожидайте уведомления SmartScreen для новых файлов.

Сертификаты OV являются проверенным вариантом и функционально эквивалентны подписи артефактов Azure для SmartScreen. Если вы находитесь в США или Канаде (или организация в ЕС или Великобритании), подписывание артефактов Azure обычно более выгодно с точки зрения затрат и более плавно интегрируется с автоматизированными конвейерами сборки.

Ранее сертификаты расширенной проверки (EV) полностью обходили SmartScreen при первом скачивании, делая их предпочтительным выбором для новых приложений без репутации. Это поведение было удалено в 2024 году. Файлы с подписью EV теперь проходят тот же процесс создания репутации, что и сертификаты OV.

Что это означает:

  • Если у вас уже есть сертификат EV, он по-прежнему действителен и функциональный для подписывания — продолжайте использовать его до истечения срока действия.
  • Сертификаты EV по-прежнему требуют более строгой проверки идентификации, которая может иметь значение для корпоративных закупок или других контекстов доверия
  • Оплата премии EV ($400+/год) исключительно, чтобы избежать предупреждений SmartScreen больше не оправдана — вы по-прежнему увидите те же предупреждения, что и с сертификатом OV.

репутация SmartScreen для разработчиков для получения полных сведений о том, как создается репутация и что видят пользователи

Самозаверяющий сертификат — только для разработки и тестирования

Самоподписанный сертификат не доверяется Windows и по умолчанию активирует строгое блокирование с помощью SmartScreen для любого пользователя, который вручную не установил сертификат в качестве доверенного корневого сертификата. Это делает самозаверяющие сертификаты непригодными для общедоступного распространения.

Подходящие варианты использования:

  • Локальная разработка и тестирование — вы управляете компьютером и можете установить сертификат вручную.
  • Внутреннее распределение предприятия — ИТ-отдел может развернуть сертификат как доверенный корневой сертификат через Intune или групповую политику, что позволяет управляемым устройствам тихо устанавливать приложение.

Подписать пакет MSIX с помощью SignTool

Открытый исходный код: SignPath Foundation

Если ваш проект с открытым исходным кодом, SignPath Foundation предлагает бесплатную подпись кода для соответствующих проектов с открытым исходным кодом. Программа предоставляет подписывание сертификатов на уровне OV через управляемый конвейер. Проверьте веб-сайт SignPath Foundation, чтобы узнать о требованиях к участию и процессе подачи заявки.