使用XML直接签署Office Word文档
我正在尝试使用直接XML格式的C#签署Microsoft Office Word文件。
这里有一些问题和模棱两可的问题,例如:
- 我应该如何填写摘要值,我应该为每个参考准确消化什么值,以及我应该为每个转换消化什么值?
- 我应该签署什么价值来创建
SignatureValue
? - 我应该在x509数据中包含哪些证书以及如何? (我们没有确切的证书,所以我们非常感谢您创建一个证书。)
最后一个问题是我正确地这样做了吗? 也许这里有什么问题,我错过了一个软件包,否则它本身会与openxml文件交互并签名。
但请记住,我实际上是尝试使用外部令牌签署数据,该外部令牌具有可用的pkcs11接口(但没有CSP),所以我使用了PKCS11 Interop库将其迁移到c#,但我在这里仍然有点困惑。
- 有没有我可以用来签署word文档的包?
- 或者是否有一个简化openXML交互的软件包?
- 或者我必须手动完成吗?
只是为了抬头任何执行openXML交互的库也应该允许我使用pkcs11命令对文档进行签名(即,它给我字节流来签名和消化,但是其他部分本身,pkcs11真的不应该被认为是重要的在这里(你可以用我的自定义算法替换它))
BTW中的签名构建器如下所示:
YYYY-MM-DDThh:mm:ssTZD 2015-11-22T17:21:28Z TEST SIGNING 10.0 15.0 15.0 1 1920 1080 32 {00000000-0000-0000-0000-000000000000} 9 1 2015-11-22T17:21:28Z E=ali@ali.com, CN=ALI-PC, OU=ALI-PC, O=ALI-PC, L=ALI-PC, S=ALI-PC, C=98 1 http://uri.etsi.org/01903/v1.2.2#ProofOfOrigin Created and approved this document TEST SIGNING
您可以查看该项目的源代码,它涵盖了MS Office文档的基本数字签名。 请注意,代码有点过时,但原则是相同的