我通过DocX库在我的应用程序中使用.docx文件,我用它来编辑文档的某些部分并解析模板。我的问题是当客户对文档进行数字签名时,我不知道如何获取有关签名的信息。我需要查看谁签署了文件。
我认为DocX库并没有向我提供这些信息,或者我无法弄清楚在哪里找到它们。
非常感谢任何其他建议。
答案 0 :(得分:3)
我花了几天时间进行研究,发现您可以阅读文档签名:System.IO.Packages -> PackageDigitalSignatureManager
link
Package pkg = Package.Open(documentStream, FileMode.Open, FileAccess.ReadWrite);
PackageDigitalSignatureManager dsm =
new PackageDigitalSignatureManager(pkg);
其中doucumentStream是您文件的MemoryStream
。
然后,您可以检查文件是否经过数字签名,验证签名,或获取有关该签名的详细信息(谁,地点,原因)。
dsm.IsSigned ...
dsm.VeryfySignature() ...
dsm.Signatures ...