THPDFCMSAttributeSummary Record
Exposes structural CMS facts from the verification parser so profile preflight can report attribute cardinalities without walking ASN.1 twice
Declaration
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;
Unit
HPDFSignVerify
Fields
| Field | Purpose |
|---|---|
Parsed | True when the CMS structure parsed successfully; the other fields are only meaningful then |
EncapsulatedContentTypeOID | OID of the encapsulated content type carried by the SignedData |
SignedContentTypeOID | Content type declared by the signed content-type attribute of the signer |
SignedAttributeCount | Number of attributes in the signer's signed attribute set |
UnsignedAttributeCount | Number of attributes in the signer's unsigned attribute set |
ContentTypeCount | Number of content-type attributes found |
MessageDigestCount | Number of message-digest attributes found |
SigningTimeCount | Number of signing-time attributes found |
CommitmentTypeIndicationCount | Number of commitment-type indication attributes found |
SigningCertificateCount | Number of ESS signing-certificate (v1) attributes found |
SigningCertificateV2Count | Number of ESS signing-certificate-v2 attributes found |
SigningCertificateReferenceValid | True when the v1 attribute's certificate reference matches the actual signer certificate |
SigningCertificateV2ReferenceValid | True when the v2 attribute's certificate reference matches the actual signer certificate |
SigningCertificateV2HashAlgorithmOID | Hash algorithm OID used by the v2 certificate reference |
SignaturePolicyCount | Number of signature-policy attributes found |
SignatureTimestampCount | Number of signature timestamp attributes found |
SignedDataCertificatesPresent | True when the SignedData carries a certificate set at all |
SignerCertificateIncluded | True when the signer's own certificate is among the embedded certificates |
CertificateCount | Number of certificates embedded in the SignedData |
Usage notes
- All values come from the single verification parser pass, so profile preflight reads them instead of parsing the ASN.1 a second time
- The record attaches to
THPDFSignatureInfo.CMSAttributeson every verified signature, including counter-signers - Attribute counts above the expected cardinality (for example more than one message-digest attribute) are a quick malformation signal for preflight rules