我正在使用以下 API 来验证文件是否已签名
CoSign Signature Local > Signature Local COM Methods for Signing and Verifying > SAPICryptCOM Functions > FileIsSignedEx
例子:
SAPI.FileIsSignedEx(
hSession,
SAPI_ENUM_FILE_TYPE.SAPI_ENUM_FILE_OFFICE_XML_PACKAGE,
fileName,
null,
0,
ref isSigned
);
`
如果文件具有较新的签名字段,则此方法有效。*.docx 文件中的字段名称类似于{388F8850-55AF-4729-BE27-F1E5FCAC5A8F}
但是,如果 .docx 文件包含较旧的签名字段,则即使文件已签名,该函数也始终返回 0(false)。旧签名字段的名称是ArGrDigsig2
SignatureFieldInfoGet
即使今天已签署,相关函数也不会为旧字段返回任何内容。
知道这里发生了什么吗?