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

你知道有没有可能

最佳答案

您将需要使用从mssign32.dll导出的SignerSignSignerSignEx函数。

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

this blog post中途,有一个C++调用SignerSignEx的例子; Mark已将其移植到此StackOverflow answer中的C#中。

08-26 05:28