THPDFCMSAttributeSummary Record
검증 파서가 얻은 CMS 구조 정보를 노출해 profile 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 | CMS 구조를 성공적으로 파싱했을 때 True. 다른 필드는 그때만 의미가 있습니다 |
EncapsulatedContentTypeOID | SignedData가 실은 encapsulated 콘텐츠 타입의 OID |
SignedContentTypeOID | 서명자의 signed content-type 속성이 선언한 콘텐츠 타입 |
SignedAttributeCount | 서명자의 signed 속성 집합에 있는 속성 수 |
UnsignedAttributeCount | 서명자의 unsigned 속성 집합에 있는 속성 수 |
ContentTypeCount | 발견한 content-type 속성 수 |
MessageDigestCount | 발견한 message-digest 속성 수 |
SigningTimeCount | 발견한 signing-time 속성 수 |
CommitmentTypeIndicationCount | 발견한 commitment-type indication 속성 수 |
SigningCertificateCount | 발견한 ESS signing-certificate(v1) 속성 수 |
SigningCertificateV2Count | 발견한 ESS signing-certificate-v2 속성 수 |
SigningCertificateReferenceValid | v1 속성의 인증서 참조가 실제 서명자 인증서와 일치할 때 True |
SigningCertificateV2ReferenceValid | v2 속성의 인증서 참조가 실제 서명자 인증서와 일치할 때 True |
SigningCertificateV2HashAlgorithmOID | v2 인증서 참조가 쓰는 해시 알고리즘 OID |
SignaturePolicyCount | 발견한 signature-policy 속성 수 |
SignatureTimestampCount | 발견한 서명 타임스탬프 속성 수 |
SignedDataCertificatesPresent | SignedData가 인증서 집합을 아예 실고 있을 때 True |
SignerCertificateIncluded | 서명자 자신의 인증서가 내장된 인증서 가운데 있을 때 True |
CertificateCount | SignedData에 내장된 인증서 수 |
사용 참고 사항
- 모든 값은 검증 파서의 단 한 번의 패스에서 나오므로 profile preflight는 ASN.1을 두 번 파싱하는 대신 이 값을 읽습니다
- 레코드는 counter-signer를 포함한 검증된 모든 서명의
THPDFSignatureInfo.CMSAttributes에 붙습니다 - 기대 개수를 넘는 속성 수(예: message-digest 속성이 둘 이상)는 preflight 규칙에 빠른 malformed 신호가 됩니다