Установка MSIX с использованием самоподписанного сертификата
При распространении приложений в Windows использование пакета MSIX удобно, поскольку механизм установки и обновления унифицирован. Однако существует ограничение: для MSIX всегда требуется «подписанный сертификат». Когда вы хотите протестировать приложение, разработанное компанией или частным лицом, могут возникнуть ситуации, когда «покупка коммерческого сертификата подписи кода — это слишком».
Здесь на помощь приходит самоподписанный сертификат (Self-Signed Certificate) . В этой статье описаны шаги по прикреплению самоподписанного сертификата к MSIX и возможности его установки в локальной среде.
1. Создание самоподписанного сертификата
Сначала запустите PowerShell в режиме администратора и выполните следующую команду.
| |
Здесь создается сертификат для «подписания кода».
- Его будет легче найти позже, если вы дадите ему понятное имя с помощью
-FriendlyName. - Вы можете настроить срок действия с помощью
-NotAfter. На этот раз мы установили его на 10 лет.
2. Экспорт файла PFX
Экспортируйте созданный сертификат в формате PFX, чтобы его можно было использовать с signtool.
| |
Пароль, установленный в это время (в примере password ), потребуется для последующей операции подписания.
3. Установка самоподписанного сертификата в Доверенные корневые центры сертификации
Созданный сертификат сам по себе не будет пользоваться доверием Windows. Чтобы его установить, необходимо импортировать его из certmgr.msc в [Доверенные корневые центры сертификации] -> [Сертификаты] .
Если вы импортируете экспортированный сертификат ( .cer или .pfx ), он будет рассматриваться как доверенный сертификат на целевом ПК.
В результате, даже если вы подпишете MSIX, предупреждение «Ненадежный сертификат» не появится.
4. Подписание установщика (MSIX)
Наконец, используйте созданный сертификат PFX для подписания MSIX. signtool входит в состав Visual Studio и Windows SDK.
| |
/fd SHA256указывает алгоритм подписи.- Укажите файл PFX с помощью
/fи передайте пароль с помощью/p. - Наконец, укажите путь к файлу MSIX.
- Если путь к signtool не найден, укажите полный путь. В моей среде он находился в следующем месте.
| |
На этом подписание завершено, и MSIX, который можно установить на целевой ПК, будет готов.
Заключение
- Создайте самоподписанный сертификат с помощью New-SelfSignedCertificate
- Экспортируйте PFX с помощью Export-PfxCertificate
- Установите сертификат в Доверенные корневые центры сертификации
- Подпишите MSIX с помощью signtool
Поняв этот процесс, вы сможете проверить работу и протестировать распространение в локальной среде без покупки коммерческого сертификата. Конечно, для реального коммерческого распространения требуется сертификат, выданный центром сертификации, но этот метод очень полезен на этапе разработки и проверки.
👉 В этот раз мы использовали installer.msix в качестве примера, но ту же процедуру можно применить и к приложениям, которые вы создали сами.
