Могу ли я подписать приложение Windows Store с помощью доверенного сертификата подписи кода? - PullRequest
0 голосов
/ 18 июня 2020

У нас есть приложение Windows UWP, которое сейчас находится в магазине Microsoft. Проект включает файл ассоциации магазина, который содержит атрибуты издателя, одним из которых является Общее имя. Учетная запись нашего магазина показывает CN в виде строкового значения, напоминающего GUID. Отображаемое имя отображается как название нашей компании. В Visual Studio мы можем создать приложение для загрузки неопубликованных приложений и подписи кода с помощью самозаверяющего сертификата, в котором CN сертификата совпадает с CN Store (GUID как строка). Это позволяет нам загружать новые версии приложения поверх версии в магазине для тестирования и быстрого получения новых функций для c клиентов. Затем загруженная неопубликованная версия может в конечном итоге быть обновлена ​​новыми опубликованными версиями магазина.

Мой вопрос таков: мы хотели бы подписать приложение с помощью сертификата подписи кода, который мы приобретаем у доверенного центра сертификации. Проблема в том, что сертификаты для подписи доверенного кода должны иметь общее имя в качестве названия компании. Кажется, мы можем подписать приложение только с помощью сертификата, у которого общее имя равно CN в файле ассоциации магазина (GUID как строка). Это известное ограничение для хранения связанных приложений или мы чего-то упускаем?

1 Ответ

0 голосов
/ 19 июня 2020

TLRD; Любое приложение, опубликованное в MS Store, будет подписано только сертификатами Microsoft. Вы не можете использовать свой собственный сертификат для публикации sh приложения в магазине.

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

GUID, который вы видите в CN (для сертификата, автоматически сгенерированного VS), на самом деле является механизмом, подобным «закрытому ключу», который MSFT использует, чтобы гарантировать, что приложение, опубликованное в магазине, действительно отправлено его настоящим владельцем (т. е. я предполагаю, чтобы избежать атаки какого-то человека в середине, когда злоумышленник может каким-то образом загрузить поврежденную версию вашего приложения).

Как только ваше приложение поступит в магазин и пройдет все проверки, MSFT подпишет его своим собственным сертификатом. Я полагаю, именно так служба AppInstaller (или приложение Store из Windows 10) узнает, что можно доверять любому приложению, подписанному их сертификатом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...