我正在开发一个允许使用.NET (比利时ID)进行签名的SmartCard PDF签名应用程序。此外,我希望签名支持LTV。
我遵循了iText的说明和示例,它似乎运行得很好。Acrobat表示签名是有效的,并提供LTV。
然而,有一个实际问题:包含的CRL太大了。这意味着,对于每个签名,都需要下载14 my,这会减慢操作速度,并显著增加每个签名PDF的文件大小。
我在想,除了包括完整的CRL之外,是否还有一个替代方案来支持LTV?包含完整的CRL似乎有点过分,而唯一需要的“东西”似乎是包含一个可验证的证据,证明链中的证书在签署时没有被撤销。我认为OCSP的使用可能会提供这样的功能,但是简单地删除CRL并包含一个OcspClientBouncyCastle实例并不能奏效。授予SignDetached的OCSP是否用于检查证书是否在签名时被撤销?
一个相关的问题涉及LTV“支持”本身。正如我所提到的,Acrobat只表示当包含CRL时文件支持LTV。然而,在在线服务http://dss.nowina.lu/validation (欧盟参考资料)上的检查似乎表明了一些其他的东西。在那里,即使没有嵌入式CRL的文件背后也有一个有效的检查说明“是AdES验证结论吗?”(这是“长期验证数据”下的唯一检查点)。因此,我想知道是否有必要为LTV包括CRL?
可以说,我很困惑:)。
顺便说一句,来自同一验证服务的另外两个我似乎无法解决的警告:“‘发布者-序列’属性不存在或不匹配!”以及“SSCD不支持签名者的证书!”但也许这是另一个问题。
提前感谢您的帮助。
发布于 2016-02-28 21:50:58
我看了你的样本文件。它不符合任何LTV配置文件,仅仅是T级,即它是时间戳。
详述
PDF签名仅仅是通过使用子过滤器ETSI.CAdES.detached嵌入单个CMS容器来实现的,它包含
- C=BE,CN=Belgium Root CA2
- C=BE,CN=Citizen CA,SERIALNUMBER=201103
- C=BE,CN=Donny Tytgat (Signature),SURNAME=Tytgat,GIVENNAME=Donny Geert,SERIALNUMBER=81032305309);
RevocationInfoArchival响应;该响应由- CN=Belgium OCSP Responder,C=BE其中具有id-pkix-ocsp-nocheck扩展;
- C=BE,SERIALNUMBER=2014,O=Belgium Federal Government,CN=Time Stamping Authority
因此,签名符合基准T级别,如
与T级PAdES 相一致的应是符合B级的签名,其信托服务提供者i.4为其生成了可信令牌(时间戳或时间戳令牌),以证明签名本身在某一特定日期和时间内确实存在。 (第7节-T级一致性要求- http://www.etsi.org/deliver/etsi_ts/103100_103199/103172/02.02.02_60/ts_103172v020202p.pdf)
其中,B级一致性定义为
该条款定义了声称符合B级的PAdES签名必须满足的要求。目前的条款规定了短期电子签名的遵守要求. 该条款实际上描述了PAdES(不包含签名-策略标识符的签名)和PAdES(包含签名-策略-标识符的签名)签名。 (第6节-B级一致性要求-同上)
(还满足了其他要求。)
它确实不符合不符合LT级别,这需要:
生成器应包括用于验证签名者的全部撤销数据(CRL或OCSP响应)和签名中使用的CA证书。此集合包括验证签名证书、验证签名中的任何属性证书以及验证任何已合并到签名中的时间戳令牌的签名证书(即TSA证书)所需的所有证书状态信息。 (第8节-LT级一致性要求-同上)
因为没有关于CA证书或TSA证书的撤销信息。
因此,它还可以不符合LTA级别的作为
符合LTA级别的PAdES签名必须是与一个或多个文档时间戳相结合的LT级别的签名。
关于其他问题
我在想,除了包括完整的CRL之外,是否还有一个替代方案来支持LTV?包含完整的CRL似乎有点过分,而唯一需要的“东西”似乎是包含一个可验证的证据,证明链中的证书在签署时没有被撤销。我认为OCSP的使用可以提供这样的功能。
如果有一个适当的PKI基础设施是可能的。但不幸的是,CA --而不是TSA证书--都不包含负责它们的OCSP响应程序的信息。因此,要么比利时公民PKI不为这些证书提供OCSP服务,要么它只是不公开这一规定。
顺便说一句,这就是诊断树所说的
<Message Id="0">OSCP Uri not found in certificate meta-data !</Message>是在使用http://dss.nowina.lu/validation服务验证签名时得到的。
在那里,即使没有嵌入式CRL的文件背后也有一个有效的检查说明“是AdES验证结论吗?”(这是“长期验证数据”下的唯一检查点)。
这个用户界面布局误导了你,正如上面提到的,与LTV相关的配置文件有更多的要求。
https://stackoverflow.com/questions/35613203
复制相似问题