как подписать приложение windows бесплатно

Использование цифровых подписей для упрощения управления приложениями для классических приложений для Windows

Относится к:

Некоторые возможности управления приложениями в Защитнике Windows доступны только в определенных версиях для Windows. Узнайте больше о доступности функции управления приложениями в Защитнике Windows.

В этом разделе описывается руководство по использованию классических приложений для управления Windows подписываю кода.

Оценка ваших приложений: подписание приложений и файлы каталога

Как правило, политики WDAC настраиваются для использования сертификата подписи приложения. Это частично или полностью определяет приложение как доверенное. Это означает, что приложения должны либо использовать встроенные подписи, где подпись является частью двоичного или каталога подписи, где вы создаете «файл каталога» из приложений, подписать его, и через подписанный файл каталога, настроить политику WDAC, чтобы распознать приложения, как подписаны.

Файлы каталогов могут оказаться очень полезными для неподписанных собственных бизнес-приложений, для которых не так легко получить встроенную подпись. Однако каталоги должны обновляться при каждом обновлении приложения. В отличие от встроенной подписи политики WDAC, как правило, не должны обновляться вместе с приложением. По этой причине, если подпись кода включена или может быть включена в процесс разработки приложения внутри организации, вы можете упростить управление WDAC (по сравнению с использованием подписи каталога).

Чтобы получить подписанные приложения или встроить подписи в собственные приложения, можно выбрать один из методов.

С помощью процедуры публикации в Microsoft Store. Все приложения в Microsoft Store автоматически подписываются с помощью специальных подписей, предоставляемых нашим или вашим собственным центром сертификации (ЦС).

Использование собственного цифрового сертификата или инфраструктуры открытых ключей (PKI). Поставщики услуг Интернета и организации могут сами подписывать свои классические приложения для Windows, добавляя себя в список доверенных источников.

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

Использовать подпись каталога можно с помощью одного из следующих вариантов.

Используйте портал Защитник Windows, доступный в Microsoft Store для бизнеса и образовании. Портал является веб-службой Microsoft, которую можно использовать для подписи классических приложений для Windows.

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

Файлы каталога

Файлы каталога (которые можно создавать в Windows 10 и Windows 11 с помощью средства под названием Package Inspector) содержат сведения обо всех развернутых и выполненных двоичных файлах, связанных с доверенными, но неподписаными приложениями. При создании файлов каталога также можно включить подписанные приложения, при работе с которыми вы хотите доверять конкретному приложению, а не подписавшему его лицу. После создания каталога необходимо подписать сам файл каталога с помощью корпоративной инфраструктуры открытых ключей или приобретенного сертификата для подписи кода. Затем можно распространить каталог, чтобы доверенные приложения обрабатывались WDAC так же, как любые другие подписанные приложения.

Файлы каталога представляют собой простые списки хэширования алгоритма SHA-2 обнаруженных двоичных файлов. При каждом обновлении приложения эти значения hash-файлов обновляются, что также требует обновления файла каталога.

После создания и подписания файлов каталога можно настроить политики WDAC для доверия подписавшему лицу или сертификату подписи этих файлов.

Инспектор пакетов работает только на операционных системах Защитник Windows, таких как Windows 10 и Windows 11 Enterprise, Windows 10 и Windows 11 Education, Windows 2016 Server или Windows Enterprise IoT.

Политика управления приложениями в Защитнике Windows: форматы и подписывание

При создании политики WDAC создается документ XML с двоичным кодом, который включает параметры конфигурации для режимов пользователя и ядра 11 Windows 10 и Windows 11 Enterprise, а также ограничения для 11 хостов сценариев Windows 10 и Windows. Вы можете просмотреть свой исходный XML-документ в текстовом редакторе, например при необходимости проверить параметры правила, которые включены в раздел этого файла.

Рекомендуется сохранить исходный XML-файл для использования при объединении политики WDAC с другой политикой или при обновлении параметров правила в этой политике. В целях развертывания файл преобразуется в двоичный формат, что можно сделать с помощью простой команды Windows PowerShell.

Развернутая политика WDAC ограничивает программное обеспечение, которое может быть запущено на устройстве. XML-документ может быть подписан, что обеспечивает дополнительную защиту от изменения или удаления политики пользователями, имеющими права администратора.

Источник

Подписывание пакета приложения Windows 10

Подписывание пакета приложения — это обязательный шаг в процессе создания развертываемых пакетов приложений Windows 10. В Windows 10 все приложения должны быть подписаны с помощью допустимого сертификата для подписи кода.

Для успешной установки приложения для Windows 10 пакет не только подписывается, но и настраивается как надежный на устройстве. Это означает, что сертификат должен быть связан с одним из доверенных корневых сертификатов на устройстве. По умолчанию в Windows 10 настроено доверие к сертификатам от большинства центров сертификации, предоставляющих сертификаты для подписи кода.

РазделОписание
Необходимые условия для подписыванияВ этом разделе описаны предварительные требования, которые нужно удовлетворить, прежде чем подписывать пакет приложения Windows 10.
Использование SignToolВ этом разделе описано, как подписать пакет приложения с помощью средства SignTool из пакета SDK для Windows 10.
Подписывание пакета MSIX с помощью подписи Device GuardВ этом разделе описывается, как подписать приложение с помощью подписи Device Guard.

Установка меток времени

Настоятельно рекомендуется использовать метки времени при подписывании приложения с помощью сертификата. Это действие сохраняет подпись, обеспечивая принятие пакета приложений платформой развертывания приложения, даже если срок действия сертификата истек. Во время проверки пакета метка времени позволяет проверить подпись пакета с учетом времени подписывания. Такие пакеты будут приняты, даже если сертификат недействителен. Пакеты без меток времени будут проверяться с учетом текущего времени и, если сертификат недействителен, Windows не примет такой пакет.

Ниже описаны разные сценарии подписывания приложения с использованием меток времени и без них.

Приложение подписано без метки времениПриложение подписано с меткой времени
Сертификат действительныйПриложение будет установлено.Приложение будет установлено.
Сертификат недействительный (срок действия истек)Приложение не будет установлено.Приложение будет установлено, так как подлинность сертификата была проверена при подписывании центром меток времени.

Если приложение установлено на устройстве, оно будет выполняться даже после истечения срока действия сертификата независимо от того, были ли установлены метки.

Режим устройства

Windows 10 позволяет пользователям выбирать следующие режимы работы устройства в настройках приложения: «Приложения Microsoft Store», «Неопубликованные приложения» и «Режим разработчика».

Приложения Microsoft Store — это самый безопасный режим, так как он разрешает установку приложений только из Microsoft Store. Приложения в Microsoft Store проходят процесс сертификации, гарантирующий, что приложения безопасны для использования.

Неопубликованные приложения и Режим разработчика — это менее строгие режимы использования приложений, которые были подписаны с помощью других сертификатов, которые являются доверенными и которые связаны с одним из доверенных корневых сертификатов на устройстве. Выбирайте режим разработчика, только если вы являетесь разработчиком, который создает или отлаживает приложения для Windows 10. См. подробнее о режиме разработчика.

Источник

Как подписать программу цифровой подписью

как подписать приложение windows бесплатно. Смотреть фото как подписать приложение windows бесплатно. Смотреть картинку как подписать приложение windows бесплатно. Картинка про как подписать приложение windows бесплатно. Фото как подписать приложение windows бесплатно

Что такое цифровая подпись для программы

Подпись программы – это процесс добавления специального кода (электронной подписи) к исполняемым файлам и драйверам на этапе разработки.

Электронная подпись позволяет пользователям убедиться, что данная программа:

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

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

Как правило, подписывается не сам исполняемый файл, а его хэш-сумма. Это позволяет уменьшить размер цифровой подписи.

Для чего используется

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

Наиболее частое применение подписи программного кода – обеспечение безопасности при установке программы. Например, файлы обновлений операционных систем содержат подписи компании-разработчика, чтобы принимающая система могла убедиться в целостности файлов и в том, что они действительно созданы данным производителем, даже если обновления доставляются через третьи лица (скачиваются с сайта дистрибьютора или устанавливаются с дисков).

Как получать цифровую подпись для программы

как подписать приложение windows бесплатно. Смотреть фото как подписать приложение windows бесплатно. Смотреть картинку как подписать приложение windows бесплатно. Картинка про как подписать приложение windows бесплатно. Фото как подписать приложение windows бесплатно

Электронные подписи создаются с помощью алгоритма подписи с открытым ключом, например, RSA. В алгоритме с открытым ключом на самом деле используются два различных ключа: открытый и закрытый. Закрытый ключ знает только его владелец, а открытый ключ доступен всем. В технологии электронной подписи с помощью закрытого ключа генерируется подпись, а соответствующий ему открытый ключ используется для её проверки.

Чтобы получить электронную подпись, необходимо обратиться в специальный центр сертификации (или удостоверяющий центр). Центр сертификации выдаёт ключи (закрытый и открытый) и сертификат (собственно подпись).

С помощью закрытого ключа разработчик вычисляет хэш-сумму своего кода (в специальном ПО или через веб-сайт), прикрепляет хэш-сумму и сертификат к коду и компилирует его – получается подписанная программа.

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

Существует также вариант, при котором разработчик внедряет в код свою собственную, личную подпись. Конечному пользователю в этом случае необходимо получить открытый ключ непосредственно у разработчика, чтобы выполнить проверку ПО при первом запуске.

Кроме программной реализации цифровой подписи, существует также её аппаратная реализация (например, с помощью смарт-карт, USB-токенов и т.п.).

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

Лицензирование программ

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

Источник

Создание сертификата для подписи пакета приложения

MakeCert.exe не рекомендуется к использованию. Текущие рекомендации по созданию сертификата см. в разделе Создание сертификата для подписания пакета.

узнайте, как использовать MakeCert.exe и Pvk2Pfx.exe для создания тестового сертификата подписи кода, чтобы вы могли подписывать пакеты приложений Windows.

перед развертыванием пакетной Windows приложения необходимо подписать цифровой подписью. если вы не используете Microsoft Visual Studio 2012 для создания и подписи пакетов приложений, необходимо создать собственные сертификаты для подписи кода и управлять ими. сертификаты можно создавать с помощью MakeCert.exe и Pvk2Pfx.exe из набора драйверов Windows (WDK). Затем можно использовать сертификаты для подписывания пакетов приложений, чтобы их можно было развернуть локально для тестирования.

Это важно знать

Технологии

Предварительные требования

Инструкции

Шаг 1. Определение имени издателя пакета

чтобы сделать сертификат подписи, который вы создадите, использовать с пакетом приложения, который необходимо подписать, имя субъекта сертификата подписи должно соответствовать атрибуту Publisher элемента Identity в AppxManifest.xml для этого приложения. Например, предположим, что AppxManifest.xml содержит:

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

Шаг 2. создание закрытого ключа с помощью MakeCert.exe

Используйте служебную программу MakeCert для создания самозаверяющего тестового сертификата и закрытого ключа:

Эта команда предложит указать пароль для PVK-файла. Рекомендуется выбрать надежный пароль и защитить закрытый ключ в безопасном месте.

Рекомендуется использовать предлагаемые параметры из предыдущего примера по следующим причинам.

Создает самозаверяющий корневой сертификат. Это упрощает управление тестовым сертификатом.

Помечает базовое ограничение для сертификата как конечную сущность. Это предотвращает использование сертификата в качестве центра сертификации (ЦС), который может выдавать другие сертификаты.

Задает значения расширенного использования ключа (EKU) для сертификата.

Не ставьте пробел между двумя значениями, разделенными запятыми.

Задает дату окончания срока действия сертификата. Укажите значение параметра expirationDate в формате мм/дд/гггг. Рекомендуется выбирать дату истечения срока действия, если это необходимо для целей тестирования, как правило, меньше года. Эта дата окончания срока действия в сочетании с ключом времени существования подписывания может помочь ограничить окно, в котором сертификат может быть скомпрометирован и недоступен.

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

шаг 3. создание файла личных данных Exchange (. pfx) с помощью Pvk2Pfx.exe

Файлы MyKey. PVK и MyKey. cer являются теми же файлами, которые MakeCert.exe созданы на предыдущем шаге. С помощью необязательного параметра/по можно указать другой пароль для результирующего PFX-файла; в противном случае PFX-файл имеет тот же пароль, что и MyKey. PVK.

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

Remarks

После создания PFX-файла можно использовать файл с помощью средства SignTool для подписания пакета приложения. Дополнительные сведения см. в разделе как подписать пакет приложения с помощью средства SignTool. Но сертификат по-прежнему не является доверенным для локального компьютера для развертывания пакетов приложений, пока он не будет установлен в хранилище доверенных сертификатов на локальном компьютере. Вы можете использовать Certutil.exe, который поставляется вместе с Windows.

Установка сертификатов с помощью WindowsCertutil.exe

Запустите Cmd.exe от имени администратора.

Выполните следующую команду:

Рекомендуется удалить сертификаты, если они больше не используются. В той же командной строке администратора выполните следующую команду:

CertID — серийный номер сертификата. Выполните следующую команду, чтобы определить серийный номер сертификата:

Соображения безопасности

Добавив сертификат в хранилища сертификатов локальной машины, вы меняете доверие сертификатов всех пользователей на компьютере. Рекомендуется установить все сертификаты подписи кода, необходимые для тестирования пакетов приложений в хранилище сертификатов «Доверенные лица». Немедленно удалите эти сертификаты, когда они больше не нужны, чтобы предотвратить их использование для компрометации доверия системы.

Связанные темы

Примеры

Основные понятия

How to sign an app package using SignTool (Подписывание пакета приложения с помощью SignTool)

Источник

Создание сертификата для подписания пакета

В этой статье объясняется, как создать и экспортировать сертификат для подписывания пакета приложений с помощью инструментов PowerShell. рекомендуется использовать Visual Studio для упаковки приложений UWP и упаковки настольных приложений, но вы по-прежнему можете упаковать приложение вручную, если вы не использовали Visual Studio для разработки приложения.

Предварительные требования

Упакованное или распакованное приложение
Приложение, содержащее файл AppxManifest.xml. При создании сертификата, который будет использоваться для подписывания окончательного пакета приложений, потребуется сослаться на этот файл манифеста. Сведения о том, как вручную упаковать приложение, см. в разделе Создание пакета приложений с помощью инструмента MakeAppx.exe.

Командлеты инфраструктуры открытых ключей (PKI)
Вам потребуются командлеты PKI для создания и экспорта сертификата для подписи. Дополнительные сведения см. в разделе Командлеты инфраструктуры открытых ключей.

Создание самозаверяющего сертификата.

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

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

Определение субъекта вашего упакованного приложения

Чтобы использовать сертификат для подписывания пакета приложений, значение в поле сертификата «Субъект» должно совпадать с данными в разделе «Издатель» манифеста вашего приложения.

Например, раздел «Идентификатор» файла AppxManifest.xml вашего приложения должен выглядеть примерно следующим образом:

«Издатель» в данном случае — «CN=Contoso Software, O=Contoso Corporation, C=US», и именно его следует использовать для создания сертификата.

Использование командлета New-SelfSignedCertificate для создания сертификата

Используйте командлет PowerShell New-SelfSignedCertificate для создания самозаверяющего сертификата. New-SelfSignedCertificate имеет несколько параметров для настройки, но в данной статье мы рассмотрим создание простого сертификата, который будет работать с SignTool. Дополнительные примеры и варианты использования этого командлета см. в статье New-SelfSignedCertificate.

Основываясь на файле AppxManifest.xml из предыдущего примера, используйте следующий синтаксис для создания сертификата. В строке с повышенными привилегиями PowerShell:

Обратите внимание на следующие сведения о некоторых параметрах.

Кэйусаже. Этот параметр определяет, для чего может использоваться сертификат. Для самозаверяющего сертификата этот параметр должен иметь значение дигиталсигнатуре.

Текстекстенсион: этот параметр включает параметры для следующих расширений:

Расширенное использование ключа (EKU). это расширение указывает дополнительные цели, для которых может использоваться сертифицированный открытый ключ. Для самозаверяющего сертификата этот параметр должен включать строку расширения «2.5.29.37 = 1.3.6.1.5.5.7.3.3″, которая указывает, что сертификат должен использоваться для подписывания кода.

Основные ограничения. это расширение указывает, является ли сертификат центром сертификации (ЦС). Для самозаверяющего сертификата этот параметр должен включать строку расширения «2.5.29.19 = «, которая указывает на то, что сертификат является конечной сущностью (а не центром сертификации).

После выполнения этой команды сертификат будет добавлен в локальное хранилище сертификатов, как указано в параметре «-CertStoreLocation». Результат выполнения команды также будет выдавать отпечаток сертификата.

Сертификат можно просмотреть в окне PowerShell, выполнив следующие команды:

Это позволит отобразить все сертификаты в вашем локальном хранилище.

Экспорт сертификата

Чтобы экспортировать сертификат из локального хранилища в файл обмена личной информацией (PFX), используйте командлет Export-PfxCertificate.

При использовании командлета Export-PfxCertificate следует либо создать и использовать пароль, либо с помощью параметра «-ProtectTo» указать, какие пользователи или группы могут осуществлять доступ к файлу без пароля. Обратите внимание, что если вы не используете параметр «-Password» или «-ProtectTo», отобразится ошибка.

Использование пароля

Использование ProtectTo

После создания и экспорт сертификата вы готовы подписать пакет приложений с помощью SignTool. Следующий шаг в процессе упаковки вручную описан в разделе Подпись пакета приложения с использованием инструмента SignTool.

Замечания по безопасности

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *