我正在使用以下API来验证文件是否已签名
Out-File
示例:
CoSign Signature Local > Signature Local COM Methods for Signing and Verifying > SAPICryptCOM Functions > FileIsSignedEx
`
如果文件具有较新的签名字段,则此方法有效。 * .docx文件中字段的名称类似于SAPI.FileIsSignedEx(
hSession,
SAPI_ENUM_FILE_TYPE.SAPI_ENUM_FILE_OFFICE_XML_PACKAGE,
fileName,
null,
0,
ref isSigned
);
但是,如果.docx文件包含较旧的签名字段,则即使文件已签名,该函数也始终返回0(false)。旧签名字段的名称为{388F8850-55AF-4729-BE27-F1E5FCAC5A8F}
ArGrDigsig2
等相关功能即使今天已签名,也不会为旧字段返回任何内容。
知道这里发生了什么吗?
答案 0 :(得分:1)
旧的签名字段名为" ArGrDigsig n "是ARX CoSign Legacy签名字段。这些签名是ARX CoSign办公文档的专有签名。这些签名使用MS宏实现,只能在MS Office应用程序中使用。只有新的标准Office或DocuSign签名行签名也可以通过SAPA API(如SAPI Local)使用。