PDF签名 - LTV - CRL替代?

时间:2016-02-24 21:12:08

标签: validation pdf itextsharp signature

我正在开发一个.NET PDF签名应用程序,允许使用SmartCard(比利时ID)进行签名。另外,我想签名支持LTV。

我已经按照iText的说明和示例进行了操作,似乎效果很好。 Acrobat Reader DC表示签名有效,并提供LTV 但是有一个实际问题:包含的CRL太大了。我的测试ID为14MB。这意味着,对于每个签名,需要下载14MB,这会降低操作速度并显着增加每个签名PDF的文件大小。

我想知道在支持LTV时是否还有其他方法可以包含完整的CRL?包含完整的CRL似乎有点矫枉过正,而似乎需要的唯一“事情”是包含一个可验证的证据,证明链中的证书在签名时没有被撤销。我认为使用OCSP可能会提供这样的功能,但是简单地删除CRL并包含OcspClientBouncyCastle实例并不能解决问题。是否给予SignDetached的OCSP用于检查证书是否在签名时被撤销了?

相关问题涉及LTV“支持”本身。正如我所提到的,Acrobat Reader仅指示在包含CRL时该文件支持LTV。检查在线服务http://dss.nowina.lu/validation(欧盟参考)似乎表明了其他内容。在那里,即使没有嵌入式CRL的文件也有一个有效的检查背后的描述“是否是AdES-T验证结论?” (这是“长期验证数据”下的唯一检查点)。因此,我想知道甚至是否需要包含LTV的CRL?

可以说我很困惑:)。

顺便说一句,来自同一个验证服务的2个警告似乎无法解决:“'issuer-serial'属性不存在或不匹配!”并且“SSCD不支持签名者的证书!”。但也许那是另一个问题。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我查看了您的示例文档。 符合任何LTV配置文件,仅符合T-Level,即带有时间戳。

详细

PDF签名仅通过使用子过滤器 ETSI.CAdES.detached 嵌入单个CMS容器来实现,其中包含

  • CMS容器证书集中的签署者证书的证书链

    • C = BE,CN =比利时根CA2

    • C = BE,CN = Citizen CA,SERIALNUMBER = 201103

    • C = BE,CN = Donny Tytgat(签名),SURNAME = Tytgat,GIVENNAME = Donny Geert,SERIALNUMBER = 81032305309);

  • 签名的Adobe RevocationInfoArchival属性,其中包含对签署者证书的单个良好OCSP响应;回复由

    签署
    • CN =比利时OCSP响应者,C = BE

    具有id-pkix-ocsp-nocheck扩展名;

  • 签名的签名时间戳
    • C = BE,SERIALNUMBER = 2014,O =比利时联邦政府,CN =时间戳机构

因此,签名符合基线T-Level

  

符合T-Level 的PAdES签名必须是符合B-Level标准的信任服务   Provider [i.4]生成了一个可信令牌(时间标记或时间戳令牌),证明了签名本身   存在于某个日期和时间。

     

(第7节 - T级一致性要求 - ETSI TS 103 172 V2.2.2

其中B级一致性定义为

  

本节定义了声称符合B级要求的PAdES签名必须满足的要求。   目前的条款规定了短期电子签名的合规要求。

     

此子句实际上是个人资料   PAdES-BES(不包含签名策略标识符的签名)和PAdES-EPES(签名   确实包含签名策略标识符签名。

     

(第6节 - B级一致性要求 - ibidem)

(还满足其他要求。)

符合要求的LT级:

  

生成器应包括已在其中使用的全套撤销数据(CRL或OCSP响应)   验证签名者和签名中使用的CA证书。此集包括所有证书状态   验证签名证书所需的信息,用于验证证书中存在的任何属性证书   签名,以及用于验证任何时间戳令牌的签名证书(即TSA证书)   并入签名。

     

(第8节 - LT级别一致性要求 - ibidem)

因为没有关于CA证书或TSA证书的撤销信息。

因此,它也可以符合LTA-Level

  

符合LTA-level 的PAdES签名应符合LT-Level的一个或多个符号   文件时间戳已被纳入

关于其他问题

  

我想知道在支持LTV时是否还有其他方法可以包含完整的CRL?包含完整的CRL似乎有点矫枉过正,而似乎需要的唯一“事情”是包含一个可验证的证据,证明链中的证书在签名时没有被撤销。我认为使用OCSP可能会提供这样的功能

给定适当的PKI基础设施是可能的。但遗憾的是,CA和TSA证书都不包含有关OCSP响应者的信息。因此,比利时公民PKI不为这些证书提供OCSP服务,或者它只是不公开该条款。

BTW,这就是Diagnostic Tree的评论

<Message Id="0">OSCP Uri not found in certificate meta-data !</Message>

是您在使用http://dss.nowina.lu/validation服务验证签名时获得的。

  

在那里,即使没有嵌入式CRL的文件也有一个有效的检查背后的描述“是否是AdES-T验证结论?” (这是“长期验证数据”下的唯一检查点)。

此用户界面布局误导了您,如上所述,对LTV相关的配置文件有更多要求。