使用 VeriSign 对 exe 进行签名后,如果我们右键单击 exe,我们可以看到“数字签名”选项卡,其中提供了有关证书的信息。这些信息将存储在哪里?我的意思是操作系统将如何知道哪个证书与哪个文件相关?签名时是否在exe中嵌入了任何内容?如何编写 c# 代码从签名的 exe 中提取证书?
任何帮助是极大的赞赏。
更新:我解决了问题,尽管我无法找到与程序集存储的证书关系的准确程度。我们可以通过传递汇编路径来创建 X509Certificate 对象。我的任务是获取序列号和所有者。以下是我为此编写的代码。
X509Certificate cert = X509Certificate.CreateFromSignedFile("Solo4Orchestra.exe");
MessageBox.Show(cert.Subject.Split(new char[1]{','})[3].Replace("O=",""));
MessageBox.Show(cert.GetSerialNumberString());
谢谢。秋惠