Это академический вопрос, пытающийся понять новый материал. Не академический в смысле формальной школы, а в смысле непрерывного образования и желания разобраться в области развития, с которой я раньше не сталкивался.
Итак, в моем понимании я создаю сборку и, «подписав ее», я создал строгое имя / X509Certificate.
Поэтому я создаю пустой winapp. Захожу в свойства проекта на вкладку подписание и подписываю сборку паролем.
В мой проект добавлен файл testing.pfx.
В загрузке формы я затем выполняю этот код, думая, что увижу свой сертификат подписи сборки, но я этого не делаю, поскольку он равен нулю...??
Assembly ass = Assembly.GetExecutingAssembly();
Module mod = ass.GetModules().First();
X509Certificate cert = mod.GetSignerCertificate();
сертификат нулевой. Почему это? Я делаю что-то не так, чтобы получить сертификат, или у меня что-то перепуталось в голове, и то, что я ищу, находится не там, где я ищу?
Спасибо
Редактировать
@p e p Я использовал следующее после прочтения вашего сообщения и msdn.
Знак signtool /a C:/....../MyFile.exe
знак signtool /f C:/....../MyCert.pfx /p MyPassword C:/....../MyFile.exe
Оба сказали, что завершили успешно. Однако выполнение приведенного выше блока кода по-прежнему создает нулевой сертификат.
Теперь, что я, возможно, пропустил или делаю неправильно, так это то, что я работаю с отладочной версией Visual Studio, и это путь к exe-файлу, который я использовал для подписи.
c:....\LicensedControlTest\obj\x86\Debug