有一种方法可以创建包,添加一些部分并使用X509Certificate
对其进行签名。
我还想在包中添加时间戳签名。
如果证书到期或获得已撤销,如果在到期/撤销之前已将时间戳打包,则签名应保持有效。< / p>
P.S。我正在使用System.IO.Packaging.Package
程序集中定义的WindowsBase.dll
类。
答案 0 :(得分:0)
以下解决方案适用于您:创建者和消费者:
答案 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上有来源的快照。
还有一些其他库可能对您有所帮助