MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Издатель WPF-приложения в окне RunAs"
Answer 907023
- Создать свой сертификат с помощью makecert
Открываем командную строку Visual Studio, выполняем команду такого вида
makecert -r -pe -n "CN=Vasya Pupkin Software" -b 01/01/2018 -e 01/01/2028 -sky exchange -ss my
Сертификат появится в хранилище текущего пользователя. Открываем mmc, выполняем "Файл - Добавить или удалить оснастку", выбираем "Сертификаты". Находим созданный сертификат, делаем экспорт, выбрав в мастере параметры "Экспортировать закрытый ключ", "Экспортировать все расширенные свойства", и указав формат pfx для выходного файла. В итоге получаем файл .pfx с сертификатом и закрытым ключом, который можно использовать для подписания приложений.
Повторно сделаем экспорт, отказавшись на этот раз от экспорта закрытого ключа и выбрав формат cer. Получим в результате файл сертификата без закрытого ключа, который понадобится для распространения на целевые машины.
- Подписать программу с помощью Signtool
В командной строке Visual Studio выполняем
signtool sign /f "(путь к pfx)" /p (пароль закрытого ключа) /v "(путь к exe)"
Получаем подписанный exe-файл.
- На машинах, где будет запускаться программа, добавить сертификат (без закрытого ключа) в хранилище "Доверенные корневые центры сертификации".
Для этого в оснастке "Сертификаты" выбираем хранилище, выполняем "Действия" - "Все задачи" - "Импорт" и указываем cer-файл.
Должно получиться так:
Примечание. Если вам нужно, чтобы сертификат работал на всех машинах, он должен быть выдан нормальным центром сертификации.
Результат:
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.