Как мне прочитать открытый ключ из подписанного C # exe

Я подписываю dot net exe с помощью

signcode.exe with an spc/pvk combo

. Файл должен прочитать свой собственный открытый ключ во время выполнения, чтобы проверить некоторые данные. Я пошел разными путями.

Я пробовал

X509Certificate executingCert = X509Certificate.CreateFromSignedFile(exe);

выполнитьCert, тогда null. Я предполагаю, что 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();
}
7
задан Fiacc 17 September 2010 в 17:41
поделиться