我正在签署一个dot net exe
signcode.exe with an spc/pvk combo
Run Code Online (Sandbox Code Playgroud)
该文件需要在运行时读取自己的公钥以验证某些数据.我走了很多不同的途径.
我试过了
X509Certificate executingCert = X509Certificate.CreateFromSignedFile(exe);
Run Code Online (Sandbox Code Playgroud)
executionCert则为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();
}
Run Code Online (Sandbox Code Playgroud)