是否可以通过.NET代码对二进制文件进行签名?(没有signtool.exe)



我有以下要求,使用证书对二进制文件进行签名,但不使用signtool.exe;这个想法是通过代码来实现的。

你知道这是否可能吗?

您需要使用从mssign32.dll导出的SignerSign或SignerSignEx函数。

要使用这些,您需要定义SIGNER_SUBJECT_INFOSIGNER_FILE_INFOSIGNER_CERTSIGNER_SIGNATURE_INFO等结构的托管版本,然后正确地为本机方法指定p/Invoke签名。

在这篇博客文章进行到一半时,有一个调用SignerSignEx的C++示例;Mark已经在这个StackOverflow答案中将它移植到了C#中。

相关内容

最新更新