PDFium Delphi Component Docs

PDF 표준 헬퍼 유닛

이 유닛들은 대응되는 TPdf 편의 메서드가 사용하는 스트림 수준 인젝터, 검증기, 서명 연산, 지원 레코드를 노출합니다

워크플로가 이미 소스·대상 스트림을 소유하고 있거나 TPdf 인스턴스와 무관한 검증 옵션과 결과 상세가 필요할 때 사용하세요

FPdfPdfCommon

함수용도
AnsiCountDictKeyTokens중첩 값, 문자열, 주석을 건너뛰면서 raw PDF 사전의 최상위 이름 키 토큰 하나를 셉니다
TPdfParserResourceBudget프로세스 전체 재귀, 토큰, 객체, 디코딩 바이트, 확장 비율, 할당, 기한 한도를 정의합니다. Default는 라이브러리 기본값을 반환합니다
ConfigurePdfParserResourceBudget이후 사용자 지정 파서 연산이 쓰는 프로세스 정책을 검증하고 원자적으로 교체합니다
GetPdfParserResourceBudget현재 프로세스 정책의 스레드 안전 값 스냅샷을 반환합니다
ResetPdfParserResourceBudget기본 프로세스 정책을 복원합니다
PdfParserStartTick, PdfParserDeadlineReached사용자 지정 파서 구현을 위한 랩어웨이 안전 기한 checkpoint를 제공합니다

FPdfAssocFiles

procedure InjectAssociateFiles(Source: TStream; Dest: TStream; const Options: TAssocFilesOptions);

공개 타입용도
TPdfAFRelationshipISO 32000-2 AFRelationship 값 afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData, afTemplate이며 PDF 2.0 추가분을 포함합니다
TAssociateFileFileName, Description, 페이로드 Content, Relationship, 선택적 MIMEType을 갖춘 연관 파일 하나입니다
TAssocFilesOptions연관 파일 Files 목록과 카탈로그 또는 페이지 TargetPage이며, 기본값은 TAssocFilesOptions.Default에서 옵니다
EPdfAssocFilesErrorInjectAssociateFiles가 소스에 읽을 수 있는 trailer나 catalog가 없거나 TargetPage가 음수이거나 페이지 트리 순서에 있는 페이지를 가리키지 않을 때 발생합니다. 대상 스트림은 수정되지 않은 채로 남습니다

FPdfPades

함수용도
InjectPadesDssMarkers증분 업데이트로 DSS 인증서, OCSP, CRL, VRI 자료를 추가합니다
RenewPadesArchiveTimestamp문서 타임스탬프를 덧붙이고 결과 아카이브 레벨과 타임스탬프 메타데이터를 보고합니다
ValidatePadesCompliance, ValidatePadesTrust최상위 서명 항목 개수, 정확한 ByteRange·Contents 토큰 제외, 암호학적 무결성, 신뢰, 폐기, 타임스탬프 증거를 검증합니다
AnalyzePadesSignatureRevisions이후 리비전, 객체 변경, FieldMDP 영향, 변경 위험을 분류합니다
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytes스트림 또는 기존 불변 소스 바이트 캡처로 상한이 있는 다중 서명 증거를 만듭니다
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithmCMS와 인증서 알고리즘 파라미터를 살펴보고 지원되는 보안 상태를 평가하며, PDF 2.0 타원 곡선 프로파일과 ETSI TS 119 312 RSA signature suite를 적용합니다
VerifyCmsAlgorithmProtectionCMS algorithm-protection signed 속성을 서명자 다이제스트·서명 알고리즘과 대조해 검사합니다
SignPadesBytes선택적 RFC 3161 타임스탬핑과 함께 로컬 PAdES 서명을 덧붙입니다
PreparePadesRemoteSignature, CompletePadesRemoteSignature묶인 고정 폭 원격 서명 자리표시자 워크플로를 준비하고 완료합니다
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequest원격 서명 완료에 필요한 요청 메타데이터를 저장하거나 복원합니다

공개 PAdES 타입

영역타입
레벨과 검증TPadesLevel (plUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA), TPadesValidationIssue, TPadesValidationIssues, TPadesValidationSourceStatus (pvssUnavailable, pvssOriginalBytes, pvssIncomplete), TPadesValidationResult
암호학TPadesCryptoStatus (pcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate), TPadesSignatureAlgorithmFamily (psafUnknown, psafRsa, psafEcdsa, psafEd25519, psafEd448), TPadesSignatureAlgorithmInfo, TPadesSignatureValidation, TPadesSignatureValidations
신뢰 검증TPadesTrustNetworkPolicy (ptnpOffline, ptnpOnline), TPadesTrustValidationStage, TPadesTrustValidationProgress, TPadesTrustValidationProgressEvent, TPadesTrustValidationOptions, TPadesTrustValidationAsyncStatus, TPadesTrustValidationCompletion, TPadesTrustValidationReply
리비전 분석TPadesRevisionAnalysisStatus (prasNotChecked, prasNoLaterChanges, prasAllowed, prasDisallowed, prasSuspicious, prasIndeterminate), TPadesRevisionDecision (prdAllowed, prdDisallowed, prdSuspicious, prdIndeterminate), TPadesFieldMdpAction (pfmaNone, pfmaAll, pfmaInclude, pfmaExclude, pfmaUnknown), TPadesRevisionChangeKind, TPadesRevisionRisk, TPadesRevisionRisks, TPadesFieldNames, TPadesRevisionObjectChange, TPadesRevisionObjectChanges, TPadesSignatureRevisionAnalysis, TPadesSignatureRevisionAnalyses, TPadesRevisionAnalysisReport
증거 보고서TPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport
DSS와 아카이브 타임스탬프TPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport
서명TPadesSeedValueConstraint, TPadesSeedValueConstraints, TPadesSignatureFieldOptions, TPadesSignOptions, TPadesRemoteSignOptions, TPadesRemoteByteRange, TPadesRemoteSigningRequest

TPadesValidationResult는 아카이브 Level, Issues 집합, SourceStatus, IntegrityStatus, 서명별 Signatures 배열을 제공하며, IsCompliant, IsCompliantAt, IsCryptographicallyValid, Document Time-stamp 사전을 세는 DocTimeStampCount가 함께 있습니다. 옵션 레코드는 static Default 초기화자를 제공합니다

TPadesSignatureAlgorithmInfo는 Family, DigestAlgorithmOid, SignatureAlgorithmOid, PublicKeyAlgorithmOid, CurveOid, DigestParametersPresent, DigestParameterBits, SignatureParametersPresent, PublicKeyParametersPresent, PublicKeyParametersAreNamedCurve, PolicyStatus를 보고합니다. TPadesSignatureValidation은 여기에 IsDocumentTimeStamp, CoveredRevisionLength, ByteRangeStatus, CmsSignatureStatus, AlgorithmPolicyStatus, SigningCertificateStatus, CertificateTrustStatus, QualifiedTrustStatus, RevocationStatus, TimeStampStatus, TimeStampSignatureStatus, TimeStampTrustStatus, TimeStampRevocationStatus 판정과 NativeSignatureError, NativeTrustError, SignerCertificateSha256, CertificateChainSha256, 중첩된 AlgorithmInfo, QualifiedTrust 증거를 더합니다

TPadesTrustValidationStage는 ptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken, ptvsCompleted를 거칩니다. TPadesTrustValidationProgress는 Stage, SignatureIndex, SignatureCount, Percent를 담고, TPadesTrustValidationOptions는 NetworkPolicy, CheckRevocation, CheckTimeStamps, UrlRetrievalTimeoutMs, QualifiedTrustEvaluator, CancellationToken, OnProgress를 선택하며, TPadesTrustValidationAsyncStatus는 ptvasSuccess, ptvasCancelled, ptvasFailure 중 하나이고 TPadesTrustValidationCompletion은 비동기 Status, Validation, ErrorMessage, ErrorClassName, CancellationReason을 반환합니다

TPadesRevisionChangeKind는 prckCrossReference, prckSignature, prckValidationMaterial, prckFormField, prckAnnotation, prckPageContent, prckDocumentStructure, prckMetadata, prckActiveContent, prckDeletedObject, prckCompressedObject, prckUnknown을 분류합니다. TPadesRevisionRisk는 prrMalformedRevisionChain, prrDuplicateObjectDefinition, prrUnreferencedObjectDefinition, prrSignatureObjectRedefined, prrPageContentChanged, prrDocumentStructureChanged, prrActiveContentAdded, prrFieldMdpUnresolved, prrCompressedObjectUnresolved, prrCoveredRevisionNotFound, prrResourceLimitExceeded를 아우릅니다

TPadesRevisionObjectChange는 RevisionIndex, ObjectNumber, Generation, Offset, ObjectStreamNumber, ObjectStreamIndex, Kind, Decision, IsAuthoritative, IsRedefinition을 보고합니다. TPadesSignatureRevisionAnalysis는 SignatureIndex, SignatureObjectNumber, CoveredRevisionLength, CoveredRevisionIndex, DocMdpPermission, FieldMdpAction, FieldNames, LaterRevisionCount, Status, Risks, Changes를 더하고, TPadesRevisionAnalysisReport는 SourceStatus, RevisionCount, SignatureCount, Status, Risks, Signatures, ErrorMessage를 집계합니다

TPadesEvidenceMaterialKind는 pemkCertificate, pemkOcsp, pemkCrl을 고릅니다. TPadesValidationMaterialEvidence는 저장된 스트림마다 Kind, ObjectNumber, StoredLength, Sha256을 보고하고, TPadesVriEvidence는 Key와 ObjectNumber로 키가 매겨지며 CertificateObjectNumbers, OcspObjectNumbers, CrlObjectNumbers를 나열합니다

TPadesSignatureEvidence는 SignatureIndex, SignatureObjectNumber, IsDocumentTimeStamp, SubFilter, ByteRangeA, ByteRangeB, ByteRangeC, ByteRangeD, ContentsSha256, VriKey, SignaturePolicyOid, CommitmentTypeOid, HasMatchingVri, VriEvidenceIndex, TimeStampTokenSha256, TimeStampPolicyOid, TimeStampGenTime, TimeStampNonce, NativeFactsAvailable, NativeReason, NativeTime, NativeDocMdpPermission와 중첩된 Validation, Revision을 담습니다

TPadesEvidenceReport는 SourceLength, PdfiumSignatureCount, DssCertificateCount, DssOcspCount, DssCrlCount, DssVriCount, StoredValidationBytes, IsTruncated, Validation, RevisionAnalysis, Signatures, ValidationMaterials, VriEntries를 집계하며, TrustOptions, MaxSourceBytes, MaxSignatures, MaxRevisionChangesPerSignature, MaxValidationMaterials, MaxStoredValidationBytes, MaxVriEntries를 갖춘 TPadesEvidenceReportOptions로 상한이 적용됩니다

TPadesDssMaterial은 DerBytes 인증서, OCSP, CRL 페이로드 하나를 저장합니다. TPadesDssVri는 SignatureContents, CertIndexes, OcspIndexes, CrlIndexes로 문서 수준 자료를 고르고, TPadesDssOptions는 Certs, Ocsps, Crls, Vris, EsicExtensionLevel, IncludeVri를 받으며, TPadesArchiveTimestampOptions는 TsaUrl, Nonce, ContentsSize, UpdateDss, 중첩된 DssOptions를 담고, TPadesArchiveTimestampReport는 SourceLevel, ResultLevel, PreviousDocTimeStampCount, ResultDocTimeStampCount, SourceLength, ResultLength, DssUpdated, GenTime, PolicyOid, Nonce를 보고합니다

TPadesSeedValueConstraint는 psvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo, psvcDigestMethod를 제한합니다. TPadesSignatureFieldOptions는 FieldName, RequiredSeedValues, Reasons, LegalAttestations, AcceptableCertificates, CertificateRequired, LockAction, LockFields, CertificationPermission을 제한하고, TPadesSignOptions는 CertificateThumbprint, PaddingScheme, Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize, Level, TsaUrl, Nonce, SignaturePolicyOid, SignaturePolicyHash, SignaturePolicyUri, SignaturePolicyDocument 그룹, 중첩된 FieldOptions를 담으며, TPadesRemoteSignOptions는 원격에 안전한 부분집합인 Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize, FieldOptions를 그대로 반영하고, TPadesRemoteSigningRequest는 FormatVersion, PreparedFingerprint, DocumentDigest, ByteRange, ContentsHexOffset, ContentsSize를 묶습니다

TPadesTrustValidationOptions.QualifiedValidationTime은 신뢰 목록 서비스 이력 평가 시각을 고르며, 0이면 현재 시각을 선택합니다

TPadesSignatureValidation에는 여기에 더해 RevocationReason: TPdfCmsRevocationReason, NativeRevocationError: Cardinal, TimeStampRevocationReason: TPdfCmsRevocationReason, NativeTimeStampRevocationError: Cardinal도 들어 있습니다. 서명 진단은 이 레코드의 detached CMS 검사에서, timestamp 진단은 attached 토큰 검사(Document Time-stamp 포함)에서 나오며, timestamp 진단이 서명 진단을 대체하는 일은 없습니다

폐기가 꺼져 있거나 대응하는 CMS 검사에 도달하지 못하면 reason은 pcrrNone, 네이티브 오류는 0이 기본값입니다. 이 기본값이 성공을 의미하지는 않으니 RevocationStatus와 TimeStampRevocationStatus를 확인하세요. ValidatePadesTrustAsync는 완료 결과에서 이 필드들을 보존하고, TPadesSignatureEvidence.Validation도 TPadesEvidenceReport.ToJson과 ToCsv를 위해 이를 유지합니다

진단 필드들은 public TPadesSignatureValidation 레코드 뒤에 붙어 있어 레코드 크기가 커졌습니다. 이 레코드나 이를 포함한 레코드를 주고받는 애플리케이션과 패키지는 갱신된 유닛 기준으로 다시 빌드하세요. 예전에 컴파일된 바이너리는 새 레코드 배치를 공유하지 않습니다

FPdfPdfa

procedure InjectPdfAMarkers(Source: TStream; Dest: TStream; const Options: TPdfASaveOptions);
function ValidatePdfACompliance(Source: TStream): TPdfAValidationResult;
function ReadPdfAInfoFieldPresence(const PdfData: TBytes): TPdfAMetadataFields;
function ComparePdfAInfoAndXmp(const Info: TPdfAMetadataValues; Packet: TPdfXmpPacket): TPdfAMetadataReport;
function SynchronizePdfAInfoToXmp(const Info: TPdfAMetadataValues; Packet: TPdfXmpPacket): TPdfAMetadataFields;

공개 타입용도
TPdfAConformance감지되거나 요청된 PDF/A 파트와 적합 수준입니다
TPdfAValidationIssue, TPdfAValidationIssues개별 preflight 발견 항목과 그 집합 표현입니다
TPdfANameArray이름 기반 검증 발견 항목이 쓰는 문자열 목록입니다
TPdfAMetadataField, TPdfAMetadataFieldsISO 19005-1 Table 1의 여덟 Info-XMP 매핑(pamfTitle, pamfAuthor, pamfSubject, pamfKeywords, pamfCreator, pamfProducer, pamfCreationDate, pamfModDate)과 그 집합 표현입니다
TPdfAMetadataValues유니코드 Info 값 Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate이며, 키 존재 여부는 Present가 빈 텍스트와 별개로 추적합니다
TPdfAMetadataState, TPdfAMetadataComparison, TPdfAMetadataComparisons, TPdfAMetadataReportpamsNotRequired, pamsEquivalent, pamsXmpMissing, pamsXmpTypeMismatch, pamsValueMismatch, pamsInvalidInfoDate, pamsInvalidXmpDate 상태와 필드별 Field, State, InfoValue, XmpValue, 보고서 수준 HasXmpPacket, XmpParseError, MismatchFields, Comparisons 배열, 집계 상태로 이루어진 타입이 지정된 필드별 동등성 증거입니다
TPdfAValidationResult적합성, Issues 집합, IsCompliant 결과입니다
TPdfASaveOptions메타데이터, 식별자, IccProfileData의 ICC 프로필 바이트, 출력 인텐트, 적합성 설정이며 Default 값을 제공합니다

InjectPdfAMarkers는 유효한 클래식, xref 스트림, 하이브리드, 객체 스트림 배치에 희소 최신 리비전 조회와 상한 있는 소스 복사를 사용하고, 지원되지 않거나 잘못된 교차 참조 데이터에는 호환 파서를 유지합니다

증분 리비전은 루트와 Info 세대, 소스 xref 스타일, trailer 식별자, 암호화 거부 동작, Level A 다운그레이드 의미를 보존합니다

FPdfPdfe

procedure InjectPdfEMarkers(Source: TStream; Dest: TStream; const Options: TPdfESaveOptions);
function ValidatePdfECompliance(Source: TStream): TPdfEValidationResult;

공개 타입용도
TPdfEConformance감지되거나 요청된 PDF/E 적합성입니다
TPdfEValidationIssue, TPdfEValidationIssuesPDF/E 구조·콘텐츠 발견 항목으로, 최상위 AcroForm /XFA와 간접 /NeedAppearances true를 포함합니다. 평범한 AcroForm 필드와 내장된 엔지니어링 자산은 계속 허용됩니다
TPdfEValidationResult적합성, Issues 집합, IsCompliant 결과입니다
TPdfESaveOptionsPDF/E Version, 메타데이터, 문서 식별자, 기본값입니다

FPdfPdfr

함수용도
InjectPdfRMarkersPDF/R 식별과 제한된 카탈로그·Info 구조를 기록합니다
ValidatePdfRCompliance기본 래스터 문서 한도로 스트림을 검증합니다
ValidatePdfRComplianceWithOptions호출자가 선택한 해상도, 기하, 스트립, 암호화 요구 사항으로 스트림을 검증합니다
ValidatePdfRPageFacts이미 수집된 페이지 기하, 객체 수, 이미지 특성, filter를 검증합니다

공개 형식은 TPdfRConformance, TPdfRValidationIssue, TPdfRValidationIssues, Issues 집합과 IsCompliant 결과를 가진 TPdfRValidationResult, TPdfRStringArray, TPdfRValidationOptions, TPdfRPageFacts, TPdfRSaveOptions입니다

TPdfRValidationOptions는 MinimumResolutionDpi, MaximumResolutionDpi, GeometryTolerancePoints, RequireFullPageStrip, RequireEncryptedPdf20Profile을 조정합니다. TPdfRSaveOptions는 StripInfoOptionalEntries와 StripCatalogOptionalEntries로 소스 Info 또는 카탈로그 항목 중 §6.4.3이나 §6.3 화이트리스트가 거부할 항목을 지웁니다. TPdfRPageFacts는 페이지마다 PageNumber, MediaWidth, MediaHeight, ImageLeft, ImageBottom, ImageRight, ImageTop 경계, ImageCount, TextObjectCount, PathObjectCount, FormObjectCount, ShadingObjectCount, 래스터 기하 PixelWidth, PixelHeight, HorizontalDpi, VerticalDpi, BitsPerPixel, 그리고 ColorSpace와 Filters 체인을 기록합니다

FPdfPdfua

함수용도
InjectPdfUaMarkersPDF/UA 식별, 언어, 제목, MarkInfo, 뷰어 기본 설정, XMP 마커를 추가합니다
ValidatePdfUaCompliancePDF/UA-1 또는 PDF/UA-2 마커와 구조를 검증하며, 선택적으로 XMP 검사에 원본 바이트를 사용합니다
PdfUaIsStandardStructType번호가 붙은 제목을 포함해 구조 형식 이름을 ISO 표준 집합과 비교합니다
PdfReadRoleMapPairs직접 또는 간접 RoleMap 키와 값을 병렬 배열로 추출합니다

공개 형식은 TPdfUaConformance, TPdfUaValidationIssue, TPdfUaValidationIssues, Issues 집합과 IsCompliant 결과를 가진 TPdfUaValidationResult, TPdfUaSaveOptions, TPdfUaNameArray입니다

PDFium 유닛은 상한이 있는 유효 언어 증거를 위해 TPdfUaLanguageSource, TPdfUaLanguageContentKind, TPdfUaLanguageResolution, TPdfUaLanguageSpan, TPdfUaLanguageSpans, TPdfUaLanguageCoverageOptions, TPdfUaLanguageCoverageReport도 노출합니다

TPdfUaUnicodeObjectCoverage, TPdfUaUnicodeObjectCoverages, TPdfUaUnicodeCoverageOptions, TPdfUaUnicodeCoverageReport는 상한이 있는 객체 범위의 직접 유니코드·ActualText 추출 증거를 제공합니다

ValidatePdfUaPageContentTagging은 네이티브 페이지 객체 마크를 페이지 범위 구조 MCID와 교차 검증하고, 태그 없는 실제 콘텐츠와 구조 트리에 노출된 Artifact 콘텐츠를 모두 보고합니다

TPdfUaSaveOptions.Default는 PDF/UA-1 기본값을 선택하고 TPdfUaSaveOptions.PdfUa2는 PDF/UA-2 프로필을 선택합니다

TPdfUaSaveOptions는 DocumentTitle, Language, Author, Subject, Keywords, Creator, Producer 메타데이터, CreationDate와 ModDate, DocumentId와 InstanceId UUID, Part, Revision, Amd, Corr 식별자, 그리고 소스에 없을 때 필요한 카탈로그 항목을 넣는 EnsureMarkInfo, EnsureDisplayDocTitle 스위치를 담습니다

FPdfPdfvt

procedure InjectPdfVTMarkers(Source: TStream; Dest: TStream; const Options: TPdfVTSaveOptions);
function ValidatePdfVTCompliance(Source: TStream): TPdfVTValidationResult;
function ReadPdfVTDPartEvidence(Source: TStream): TPdfVTDPartEvidence;

공개 타입용도
TPdfVTConformance, TPdfVTTrappedStatePDF/VT 적합성과 ptvUnspecified, ptvTrue, ptvFalse에 걸친 상속 PDF/X trapped-state 선택이며, ptvUnspecified는 기록 시점에 ptvFalse로 정규화됩니다
TPdfVTValidationIssue, TPdfVTValidationIssues, TPdfVTValidationResult검증 발견 항목, Issues 집합, 적합성, IsCompliant 결과입니다
TPdfDpmEntry, TPdfDpmEntries, TDpmTargetName, Value, IsNestedDict를 갖춘 Document Part Metadata 항목이며 dptRoot 또는 dptLeaf 대상에 놓입니다
TPdfVTDPartEvidencePageCount, RecordLevel, RecipientRecordCount를 갖춘 상한이 있는 문서 파트 계층 및 인쇄 조건 증거입니다
TPdfVTSaveOptionsPDF/X 기반, IccProfileData의 ICC 프로필 바이트, OutputCondition, OutputConditionIdentifier, RegistryName, OutputIntentInfo를 통한 출력 인텐트, Trapped 상태, 메타데이터, 식별자, DPart, DpmTarget으로 배치되는 DpmEntries를 통한 DPM, 기본 설정입니다

FPdfPdfx

procedure InjectPdfXMarkers(Source: TStream; Dest: TStream; const Options: TPdfXSaveOptions);
function ValidatePdfXCompliance(Source: TStream): TPdfXValidationResult;

공개 타입용도
TPdfXConformance, TPdfXTrappedStatePDF/X 변형과 ptUnspecified, ptTrue, ptFalse, ptUnknown에 걸친 Info 사전 trapped-state 선택이며, ptUnspecified는 항목을 생략합니다
TPdfXValidationIssue, TPdfXValidationIssues, TPdfXValidationResult검증 발견 항목, Issues 집합, 적합성, IsCompliant 결과입니다
TPdfXSaveOptions적합성, IccProfileData의 ICC 프로필 바이트, OutputCondition, OutputConditionIdentifier, RegistryName, OutputIntentInfo를 통한 출력 인텐트, Trapped 상태, 메타데이터, 식별자, 기본값입니다

RSA-PSS 매개변수 정책

TPadesRsaPssParameters는 Valid, HashAlgorithmOid, MaskGenAlgorithmOid, MaskGenHashAlgorithmOid, SaltLength, TrailerField를 제공합니다. TPadesSignatureAlgorithmInfo.SignaturePss와 PublicKeyPss는 CMS와 SPKI 제약을 독립적으로 보고합니다

InspectPadesSignatureAlgorithm은 CMS PSS 매개변수를 요구하고 빈 SEQUENCE는 RFC 기본값으로 받습니다. 잘못된 DER, 중복 또는 순서가 틀린 명시 필드, 지원하지 않는 정수 인코딩, 너무 큰 매개변수 블록은 거부합니다

EvaluatePadesSignatureAlgorithm은 CMS digest와 PSS hash 일치를 요구합니다. PSS 전용 키는 PKCS #1 v1.5를 거부하고 제약된 키는 hash, MGF hash, trailer 일치와 키 최소값 이상의 서명 salt를 요구합니다

다른 지원 MGF1 hash도 유효할 수 있습니다. 알 수 없는 알고리즘은 Unsupported, 약한 MGF hash는 Indeterminate, 깨진 hash는 Invalid입니다

매개변수 블록은 16 KiB, salt/trailer는 음수가 아닌 32비트 정수로 제한합니다. 이 구조 정책은 암호 백엔드를 보완하며 RSA 키 강도나 EMSA-PSS 서명 유효성을 입증하지는 않습니다

알고리즘 증거를 직접 만들면 PSS OID만 넣지 말고 SignaturePss와 SignatureParametersPresent도 설정하세요

관련 API

TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX, PAdES 메서드는 이 유닛들을 감싸는 문서 인스턴스 래퍼를 제공합니다