Бесполезно ли подписывать мое приложение Windows самоподписанным сертификатом?

Я закодировал приложение Windows NWjs (приложение Chromium) и с помощью Inno Setup подписал его с помощью самозаверяющего сертификата. Однако я получаю сообщение "Windows защитила ваш компьютер" при попытке установить его из Интернета. Теперь мне интересно, бесполезно ли подписывать мое приложение с помощью этого самозаверяющего сертификата, потому что я получаю тот же результат, когда не подписываю приложение и не упаковываю его как есть.

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

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

введите здесь описание изображения


person Nicolas Guérinet    schedule 22.01.2019    source источник


Ответы (2)


Самоподписанные сертификаты полезны только в том случае, если их можно сделать доверенными на целевой машине, развернув их в хранилище сертификатов Windows перед установкой.

Если вы хотите, чтобы ваше приложение было установлено на машинах, которые вы не контролируете, самозаверяющие сертификаты бесполезны.

person Martin Prikryl    schedule 22.01.2019

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

Нет. Поскольку каждый может сам сгенерировать сертификат, Windows не может доверять им всем и, следовательно, не может удалить сообщение.

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

person Thomas Weller    schedule 25.06.2019