.docx 中的数字签名信息与 C#
Digital signature informations in .docx with C#
我在我的应用程序中通过 DocX 库处理 .docx 文件,我用它来编辑文档的某些部分和解析模板。我的问题是当客户端对文档进行数字签名时,我不知道如何获取有关签名的信息。我需要检查谁签署了文件。
我认为 DocX 库没有为我提供这些信息,或者我不知道在哪里可以找到它们。
任何其他建议将不胜感激。
我花了几天时间进行研究,发现您可以通过以下方式阅读文档签名: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 ...
我在我的应用程序中通过 DocX 库处理 .docx 文件,我用它来编辑文档的某些部分和解析模板。我的问题是当客户端对文档进行数字签名时,我不知道如何获取有关签名的信息。我需要检查谁签署了文件。
我认为 DocX 库没有为我提供这些信息,或者我不知道在哪里可以找到它们。
任何其他建议将不胜感激。
我花了几天时间进行研究,发现您可以通过以下方式阅读文档签名: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 ...