gpt4 book ai didi

digital-signature - 如何以编程方式使用 X509 证书对开放式办公室 XML Docx 文档进行数字签名?

转载 作者:行者123 更新时间:2023-12-05 08:02:43 27 4
gpt4 key购买 nike

我想使用 Java 或 C# 中的 X509 证书以编程方式对开放式办公室 XML Docx 文档进行数字签名。

此链接使用 System.IO.Packaging 中的 PackageDigitalSignatureManager 与 C# 完美结合: http://blogs.infosupport.com/blogs/wouterv/archive/2007/02/24/Signing-Office-Open-XML-documents-using-the-Packaging-API.aspx

虽然这工作正常,但最后它会提示用户对话,要求他提供经过身份验证的数字签名的 PIN 码。

您知道如何以编程方式设置此 PIN 码吗?

干杯


感谢您的详细解答。基本上,我使用的是电子 ID 智能卡,它具有用于签署数字文档的证书。

通常我将 X509Certificate 类型的公钥传递给 PackageDigitalSignatureManager Sign() 方法。

此方法将签署文档,但会提示用户输入 PIN 以检索存储在智能卡中的私钥。

是否可以向 PackageDigitalSignatureManager 传递一个包含 PKCS12 文件中的公钥/私钥对的对象,然后它不会提示用户输入 PIN 码。

干杯,

最佳答案

问题 2 的答案取决于您使用的技术,更重要的是,证书的存储位置。

在 Java key 存储 (JKS) 中,证书受密码保护,并且这些密码在代码中传递。

在 Windows 证书存储(.NET 加密类使用的位置)中,证书使用 PIN 进行保护,大多数加密提供商无法通过代码设置该 PIN(有用于设置 PIN 的扩展命令,但大多数提供商不支持)和用户需要手动确认对私钥的访问。

如果您使用存储在 PKCS12 文件中的证书,那么该文件的密码也会在代码中设置。

而且,如果您有兴趣,我们还提供用于在 .NET 中签署办公文档的组件 (check here)。与大多数示例代码不同,它们得到维护和支持。

关于digital-signature - 如何以编程方式使用 X509 证书对开放式办公室 XML Docx 文档进行数字签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4336848/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com