我有以下要求,使用证书签署二进制文件,但不使用signtool.exe;这个想法是通过代码来完成的。
你知道有没有可能
最佳答案
您将需要使用从mssign32.dll导出的SignerSign或SignerSignEx函数。
要使用这些,您需要定义SIGNER_SUBJECT_INFO
,SIGNER_FILE_INFO
,SIGNER_CERT
,SIGNER_SIGNATURE_INFO
等结构的托管版本,然后为本机方法正确指定P / Invoke签名。
在this blog post中途,有一个C++调用SignerSignEx
的例子; Mark已将其移植到此StackOverflow answer中的C#中。