我有一个XML文件,该文件已使用限定数字签名用XADES进行了签名。
如何判断此签名是否符合QSCD?
这是什么东西吗:
记录在XML签名节点中的- ,例如作为SignedSignatureProperties下的子节点
- 这可能是签名证书本身的某些属性吗(我可以通过查看X509Certificate节点的innerText从签名中提取公钥证书(
- 或者这是中间CA证书或根CA证书的某些属性
- 或者可能需要将证书、中间CA或根CA列为符合QSCD的地方
我非常确信,在技术上可以执行此检查,因为各种验证器可以告诉您这些信息。以下示例来自Adobe Acrobat Reader PADES签名验证,但它应该以与XADES相同的方式工作:
符合QSCD的合格数字签名
不符合QSCD的合格数字签名
经过一番调查,我发现了这一点。
显然,每个签名证书都有一个名为certificate Policy的属性,该属性可以直接引用OID为0.4.0.1941112.1.3的欧盟QSCD策略。有关此OID的详细信息,请单击此处。如果签名证书中存在此OID引用,则签名可以被视为符合QCSD(前提是满足所有其他正式的合格签名要求(。
在某些情况下,此OID可能不直接存在于证书中。在这种情况下,应该存在其他OID,并且该OID可以引用证书的颁发者自定义策略。然后,问题变得更加棘手,因为每个欧盟国家都可能保留自己的TSL列表,其中引用了这些自定义OID。据推测,国家名单可以在这个地址下找到。一旦您能够找到国家TSL列表,就可以找到证书的OID,然后找到以下节点,再次证明签名是QSCD投诉
<Qualifier uri="http://uri.etsi.org/TrstSvc/TrustedList/SvcInfoExt/QCWithQSCD"/>