Прочитать на английском

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


Подпишите пакет приложения с помощью SignTool

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

Важно!

Если вы использовали Visual Studio для разработки приложения, рекомендуется использовать мастер Visual Studio для создания и подписывания пакета приложения. Дополнительные сведения см. в разделе Создание пакета приложения UWP с помощью Visual Studio и Создание пакета классического приложения из исходного кода с помощью Visual Studio.

Дополнительные сведения о подписи кода и сертификатах см. в разделе "Общие сведения о подписи кода".

Предпосылки

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

SignTool можно использовать для подписывания файлов, проверки подписей или меток времени, удаления подписей и т. д. Для подписывания пакета приложения мы сосредоточимся на команде sign. См. полную информацию о SignTool на справочной странице SignTool.

Определение хэш-алгоритма

При использовании SignTool для подписывания пакета или комплекта приложения хэш-алгоритм, используемый в SignTool, должен совпадать с алгоритмом, использованным для подготовки вашего приложения. Например, если вы использовалиMakeAppx.exe для создания пакета приложения с параметрами по умолчанию, необходимо указать SHA256 при использовании SignTool , так как это алгоритм по умолчанию, используемый MakeAppx.exe.

Чтобы узнать, какой хэш-алгоритм использовался при упаковке приложения, извлеките содержимое пакета приложения и проверьте файл AppxBlockMap.xml. Сведения о том, как распаковать или извлечь пакет приложения, см. в статье "Извлечение файлов из пакета или сборки". Хэш-метод находится в элементе BlockMap и имеет следующий формат:

<BlockMap xmlns="http://schemas.microsoft.com/appx/2010/blockmap"
HashMethod="http://www.w3.org/2001/04/xmlenc#sha256">

В этой таблице показано каждое значение HashMethod и соответствующий алгоритм хэша:

Примечание

Так как алгоритм SignTool по умолчанию — SHA1 (недоступно в MakeAppx.exe), при использовании SignTool всегда необходимо указать хэш-алгоритм.

Подпишите пакет приложения

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

Общий синтаксис командной строки для подписывания пакета SignTool :

SignTool sign [options] <filename(s)>

Сертификат, используемый для подписи приложения, должен быть PFX-файлом или установлен в хранилище сертификатов.

Чтобы подписать пакет приложения с помощью сертификата из PFX-файла, используйте следующий синтаксис:

SignTool sign /fd <Hash Algorithm> /a /f <Path to Certificate>.pfx /p <Your Password> <File path>.appx
SignTool sign /fd <Hash Algorithm> /a /f <Path to Certificate>.pfx /p <Your Password> <File path>.msix

Обратите внимание, что параметр /a позволяет SignTool автоматически выбирать лучший сертификат.

Если сертификат не является PFX-файлом, используйте следующий синтаксис:

SignTool sign /fd <Hash Algorithm> /n <Name of Certificate> <File Path>.appx
SignTool sign /fd <Hash Algorithm> /n <Name of Certificate> <File Path>.msix

Кроме того, можно указать хэш SHA1 требуемого сертификата вместо <имени сертификата> с помощью этого синтаксиса:

SignTool sign /fd <Hash Algorithm> /sha1 <SHA1 hash> <File Path>.appx
SignTool sign /fd <Hash Algorithm> /sha1 <SHA1 hash> <File Path>.msix

Дополнительные примеры см. в разделе "Использование signTool для подписывания файла"

Обратите внимание, что некоторые сертификаты не используют пароль. Если у сертификата нет пароля, опустите "/p <ваш пароль>" из примеров команд.

После подписания пакета приложения с действительным сертификатом вы можете отправить пакет в Магазин. Дополнительные рекомендации по загрузке и отправке приложений в Магазин см. в разделе «Отправка приложений».


Дополнительные ресурсы

Обучение

Модуль

Тестирование и публикация прогрессивных веб-приложений (PWAs) для Microsoft Store - Training

Узнайте, как тестировать и публиковать прогрессивные веб-приложения на различных устройствах и платформах, обеспечивая простой пользовательский интерфейс. Получение тестовых пакетов, тестирование на разных браузерах и устройствах и соблюдение рекомендаций. Используйте PWABuilder для упаковки и отправки ЦП в Microsoft Store, резервирования имен приложений и перехода в Центр партнеров Майкрософт для успешной публикации. Улучшите навыки разработки PWA и оптимизируйте производительность и охват приложений с пом

Сертификация

Сертифицировано Microsoft: Power Platform Developer Associate - Certifications

Узнайте, как упростить, автоматизировать и преобразовать бизнес-задачи и процессы с помощью разработчика Microsoft Power Platform.