THPDFCMSAttributeSummary 记录
从验证解析器暴露 CMS 结构事实,让配置预检无需二次遍历 ASN.1 即可报告属性基数
声明
THPDFCMSAttributeSummary= record
Parsed: boolean;
EncapsulatedContentTypeOID: AnsiString;
SignedContentTypeOID: AnsiString;
SignedAttributeCount: Integer;
UnsignedAttributeCount: Integer;
ContentTypeCount: Integer;
MessageDigestCount: Integer;
SigningTimeCount: Integer;
CommitmentTypeIndicationCount: Integer;
SigningCertificateCount: Integer;
SigningCertificateV2Count: Integer;
SigningCertificateReferenceValid: boolean;
SigningCertificateV2ReferenceValid: boolean;
SigningCertificateV2HashAlgorithmOID: AnsiString;
SignaturePolicyCount: Integer;
SignatureTimestampCount: Integer;
SignedDataCertificatesPresent: boolean;
SignerCertificateIncluded: boolean;
CertificateCount: Integer;
end;
单元
HPDFSignVerify
字段
| 字段 | 用途 |
|---|---|
Parsed | CMS 结构解析成功时为 True;只有此时其他字段才有意义 |
EncapsulatedContentTypeOID | SignedData 携带的封装内容类型 OID |
SignedContentTypeOID | 签名者的已签名内容类型属性声明的内容类型 |
SignedAttributeCount | 签名者已签名属性集中的属性数量 |
UnsignedAttributeCount | 签名者未签名属性集中的属性数量 |
ContentTypeCount | 找到的内容类型属性数量 |
MessageDigestCount | 找到的消息摘要属性数量 |
SigningTimeCount | 找到的签名时间属性数量 |
CommitmentTypeIndicationCount | 找到的承诺类型指示属性数量 |
SigningCertificateCount | 找到的 ESS signing-certificate(v1)属性数量 |
SigningCertificateV2Count | 找到的 ESS signing-certificate-v2 属性数量 |
SigningCertificateReferenceValid | v1 属性的证书引用与实际签名者证书匹配时为 True |
SigningCertificateV2ReferenceValid | v2 属性的证书引用与实际签名者证书匹配时为 True |
SigningCertificateV2HashAlgorithmOID | v2 证书引用使用的哈希算法 OID |
SignaturePolicyCount | 找到的签名策略属性数量 |
SignatureTimestampCount | 找到的签名时间戳属性数量 |
SignedDataCertificatesPresent | SignedData 携带证书集合时为 True |
SignerCertificateIncluded | 签名者自己的证书在嵌入证书之中时为 True |
CertificateCount | 嵌入 SignedData 的证书数量 |
使用说明
- 所有值都来自单次验证解析,配置预检直接读取即可,无需再次解析 ASN.1
- 记录挂接在每个已验证签名的
THPDFSignatureInfo.CMSAttributes上,包括会签者 - 属性数量超过预期基数(例如消息摘要属性多于一个)是预检规则可以快速识别的畸形信号