【问题标题】:PAdES Signature Attribute signingTime forbiddenPAdES 签名属性签名时间禁止
【发布时间】:2018-07-10 17:08:10
【问题描述】:

我创建了一个 PDF PAdES 签名并添加了一个本地计算机时间戳 ANS1/CMS 属性signingTime。这有效,但ETSI online validator 无效(需要注册) 我知道ETSI Standard (page 19 table 1) 定义了signingTime 是不允许的。

  1. 为什么signingTime 如此糟糕?我确实想要签名时间的签名时间戳(签名属性)所以

  2. 我可以改用什么(并符合标准)? content-time-stamp(有符号)和signature-time-stamp(无符号)似乎有不同的含义。

我不想使用 TSP(加密时间服务器)。

【问题讨论】:

    标签: pdf cryptography timestamp digital-signature asn.1


    【解决方案1】:

    signing-time 在 CMS 中是可选的,但不应在 PAdES 中使用。它应该包含在 PDF 文档的 Signature 字典中的特定条目 M 中

    参见ETSI specification for testing PAdES signatures 第 4.2 节在 PDF 中测试 CMS 数字签名

    #PAdES/CMS/1

    这是 PDF 中最简单的 CMS 数字签名,具有最低要求和签名字典条目 M(签名时间)。


    请注意,签名时间是从签名者的设备获得的签名日期和时间的参考,不能被视为可靠的时间来源。


    content-time-stampsignature-time-stamp 都是 RFC3161 时间戳记令牌。但是content-time-stamp 是在数据被签名之前计算的,而signature-time-stamp在签名生成之后是一个未签名的属性。包含signature-time-stamp 的签名是PAdES-T 签名

    参见CAdES ETSI 规范

    • content-time-stamp 属性是签名数据内容在签名前的时间戳记号,包含在签名中

    • signature-time-stamp 属性是根据特定签名者的签名值计算的 TimeStampToken;它是一个无符号属性。

    【讨论】:

    • 我同意你的 cmets。我注意到我已经在 PDF 签名字典中使用了签名时间。我有一个客户端服务器架构,其中(哈希签名)服务器具有受信任的时间源。 2.问题改写:有没有办法在数字签名中添加签名时间戳并保持一致?我担心没有 TSP 可能是不可能的。如果我使用未签名的signature-time-stamp 我会松懈吗?如果我使用content-time-stamp,我需要一个 TSP 对吗?
    • 在这两种情况下,您都需要一个时间戳提供程序来获得符合 RFC3161 的时间戳。如果您的服务器具有可信的时间源,您可以构建自己的 TSP。使用外部“受信任”TSP 和您自己的 TSP 之间的区别在于,Adobe 不会验证时间戳,因为您的证书不在受信任列表中。但这并不意味着您的 PDF 不符合要求。如果您在 Adob​​e CA 列表中包含时间戳证书,那么 Adob​​e 将永久授予它
    • 我已经用content-time-stampsignature-time-stamp的描述更新了答案
    • 后续问题:如何在 Adob​​e 信任列表中获得自己的 TSP 证书?我认为成为值得信赖的 TSP 是有负担和成本的。如果我的 TSP 证书不在 Adob​​e 列表中,adobe Reader 会评估为黄色感叹号吗?
    • 我不知道官僚程序是怎样的,但如果您没有公认和受信任的 CA,我认为您无法克服 Adob​​e 包含您的证书的步骤。证书可以由用户手动添加。您可以向您的用户说明如何操作(取决于潜在用户的数量,这可能不是一个可行的选择)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 2020-10-11
    • 2023-03-07
    • 1970-01-01
    相关资源
    最近更新 更多