Запись THPDFCMSAttributeSummary
Выдаёт структурные факты о CMS из парсера верификации, чтобы preflight профиля сообщал кардинальности атрибутов без повторного обхода 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 | True, когда структура CMS успешно разобрана; остальные поля имеют смысл только тогда |
EncapsulatedContentTypeOID | OID инкапсулированного типа содержимого, который несёт SignedData |
SignedContentTypeOID | Тип содержимого, заявленный подписанным атрибутом content-type подписанта |
SignedAttributeCount | Число атрибутов в подписанном наборе атрибутов подписанта |
UnsignedAttributeCount | Число атрибутов в неподписанном наборе атрибутов подписанта |
ContentTypeCount | Число найденных атрибутов content-type |
MessageDigestCount | Число найденных атрибутов message-digest |
SigningTimeCount | Число найденных атрибутов signing-time |
CommitmentTypeIndicationCount | Число найденных атрибутов commitment-type indication |
SigningCertificateCount | Число найденных атрибутов ESS signing-certificate (v1) |
SigningCertificateV2Count | Число найденных атрибутов ESS signing-certificate-v2 |
SigningCertificateReferenceValid | True, когда ссылка на сертификат в атрибуте v1 совпадает с фактическим сертификатом подписанта |
SigningCertificateV2ReferenceValid | True, когда ссылка на сертификат в атрибуте v2 совпадает с фактическим сертификатом подписанта |
SigningCertificateV2HashAlgorithmOID | OID алгоритма хеширования, используемый ссылкой на сертификат v2 |
SignaturePolicyCount | Число найденных атрибутов signature-policy |
SignatureTimestampCount | Число найденных атрибутов метки времени подписи |
SignedDataCertificatesPresent | True, когда SignedData вообще несёт набор сертификатов |
SignerCertificateIncluded | True, когда собственный сертификат подписанта есть среди встроенных сертификатов |
CertificateCount | Число сертификатов, встроенных в SignedData |
Примечания по использованию
- Все значения получены за один проход парсера верификации, поэтому preflight профиля читает их, не разбирая ASN.1 второй раз
- Запись прикрепляется к
THPDFSignatureInfo.CMSAttributesу каждой верифицированной подписи, включая контр-подписантов - Счётчики атрибутов выше ожидаемой кардинальности (например, больше одного атрибута message-digest) — быстрый сигнал malformation для правил preflight