1

有一种方法可以创建包,添加一些部分并使用X509Certificate.

我还想在包中添加时间戳签名。

如果证书过期或被吊销,并且包部分在到期/吊销之前已加盖时间戳,则签名应保持有效。

PS我正在使用程序System.IO.Packaging.Package集中定义的类WindowsBase.dll

4

2 回答 2

0

以下解决方案适用于您既是包的创建者又是消费者的情况:

  1. 使用安全的 Internet 服务器获取受信任的时间戳。
  2. 重新定义证书链策略以在证书链中包含时间戳验证。
于 2010-01-21T11:42:03.857 回答
0

System.IO.Packaging 中的数字签名依赖于XMLDSIGRFC 3161中的受信任时间戳(或安全时间戳)与 XML 高级电子签名 ( XAdES ) 和 XAdES-T 配置文件一起添加到顶部。Microsoft Office 文档使用 System.IO.Packaging 作为其格式,因此 Microsoft 文档 ( MS-OFFCRYPTO ) 提到 XAdES-T 作为使用的形式。

不幸的是,.NET Framework 本身没有内置支持。而 Microsoft Office 能够利用受信任的时间戳进行数字签名。

Microsoft France于 2012 年发布了一个库来支持这些标准,但它已下线并且不再维护。但是Github上有源代码的快照。

还有一些您可能认为有帮助的其他库

于 2019-12-14T17:22:30.520 回答