如何将时间戳签名添加到System.IO.Packaging.Package?

时间:2009-11-10 17:46:00

标签: .net certificate signing trusted-timestamp

有一种方法可以创建包,添加一些部分并使用X509Certificate对其进行签名。

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

如果证书到期或获得已撤销,如果在到期/撤销之前已将时间戳打包,则签名应保持有效。< / p>

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

2 个答案:

答案 0 :(得分:0)

以下解决方案适用于您:创建者消费者

  1. 使用安全的Internet服务器获取受信任的时间戳。
  2. 重新定义证书链策略,以在证书链中包含时间戳验证。

答案 1 :(得分:0)

System.IO.Packaging中的数字签名依赖于XMLDSIG。加上RFC 3161的Tusted时间戳(或安全时间戳)以及XML高级电子签名(XAdES)和XAdES-T配置文件。 Microsoft Office文档使用System.IO.Packaging作为其格式,因此Microsoft文档(MS-OFFCRYPTO)提到XAdES-T是所使用的格式。

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

Microsoft France在2012年发布了支持标准的库,但该库已脱机并且不再维护。但是Github上有来源的快照。

还有一些其他库可能对您有所帮助