Создание ключа и подписания исполняемого файла с помощью SignTool

StackOverflow https://stackoverflow.com/questions/4116639

Вопрос

Как бы я подписывал визуальный c# исполняемый файл?

SignTool.exe не может найти сертификат.

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

Upenssl и Visual Studio 2010 Express установлены. Запуск Windows 7 Ultimate X64.

Использование signtool.exe из набора драйверов Windows.

Это было полезно?

Решение

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

С .NET, когда бинар подписан в цифровом виде, это автоматически Проверено на целостность и подлинность во время стартапа. Хотя я лично не проверял это, использование самоподтвержденного сертификата, вероятно, вызовет у вас множество проблем.

Если вы хотите подписать свои программы в цифровом виде, вам необходимо инвестировать в сертификат подписания кода из CA. Есть ряд компаний, которые могут предоставить эту услугу (Verisign, Оттаивание), за плату.

Несмотря на то, что плата может показаться немного экстремальной по цене, помните, что вы не просто покупаете цифровой сертификат, но и 24/7 подтверждения этого сертификата. Каждый раз, когда кто -то запускает вашу программу, она гарантирует, что программа была написана вами, и что программа не была изменена с момента выпуска ее.

После того, как у вас есть сертификат, вы можете записать свою программу, следуя шагам в Как: знак приложения и развертывания приложения и развертывания.

Обновлять: Если эта программа строго является внутренней приложением (ограниченной вами или вашим бизнесом), Вы можете создать свой собственный CA. Отказ Поскольку вы будете единственным, кто запускает его, только вам нужно было бы подтвердить это. Сертификат CA должен быть установлен в качестве Доверенный корневой сертификат На всех машинах, которые запускали бы программу (или если у вас есть доступ к Windows Server, вы можете настроить реальное рабочее CA).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top