【问题标题】:How to add timestamping signature to System.IO.Packaging.Package?如何向 System.IO.Packaging.Package 添加时间戳签名?
【发布时间】:2010-12-15 03:43:02
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: .net certificate signing trusted-timestamp


    【解决方案1】:

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

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

    【讨论】:

    • 我有一个受信任的时间戳,但我试图了解如何在签名时包含它。但是,我不会成为包裹的消费者……你能详细说明第二步吗?
    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-21
      • 1970-01-01
      • 2017-12-01
      • 1970-01-01
      • 2012-01-05
      • 1970-01-01
      相关资源
      最近更新 更多