如何以编程方式将数字签名添加到多个Open Office XML Docx文档中?

时间:2011-01-12 16:43:15

标签: c# digital-signature pkcs#12

我想使用PackageDigitalSignatureManager对象中Sign(方法)的标准化方法,以编程方式将数字签名添加到多个DOCX文件中。

例如: http://blogs.infosupport.com/blogs/wouterv/archive/2007/02/24/Signing-Office-Open-XML-documents-using-the-Packaging-API.aspx

问题是,当我使用方法Sign时,它会提示用户输入PIN密钥,因为Microsoft Crypto API正在尝试访问智能卡中的私钥。

在向多个DOCX文件添加数字签名时,有什么方法我只能使用Sign一次方法,因此只有在签署多个文件时才会提示用户一次?

1 个答案:

答案 0 :(得分:0)

在您的情况下,系统会提示您输入令牌。通常这可以在智能卡驱动程序级别配置,即可以选择缓存进程的PIN值。另一种方法是使用PKCS#11接口来访问证书。这可以使用我们的SecureBlackbox产品,该产品使用PKCS#11接口(以及CryptoAPI)证书提供Office文档(包括MS Office和OpenOffice)的签名。