Я подписываю dot net exe, используя
signcode.exe with an spc/pvk combo
Файл должен прочитать свой открытый ключ во время выполнения, чтобы проверить некоторые данные. Я пошел по разным направлениям.
Я пробовал
X509Certificate executingCert = X509Certificate.CreateFromSignedFile(exe);
executingCert тогда равен нулю. Я предполагаю, что signcode не создает файл с подписью X509, хотя, если есть переключатель, который я могу изменить, я рад пойти по этому пути.
изм
Оказывается, вышеописанное работает ... У меня была нулевая проверка назад (! =! = ==) :)
Assembly asm = Assembly.GetExecutingAssembly();
string exe = asm.Location;
X509Certificate executingCert = X509Certificate.CreateFromSignedFile(exe);
if (executingCert != null)
{
Console.WriteLine("Assembly is signed");
byte[] assemblyKey = executingCert.GetPublicKey();
}