PDFium Component Docs

PDF standards helper units

Deze units stellen de streamniveau-injectoren, validators, ondertekeningbewerkingen en supportrecords bloot die door de overeenkomstige TPdf-handigheidsmethoden worden gebruikt

Gebruik ze wanneer een workflow al bron- en doelstreams in handen heeft of validatieopties en resultaatdetails nodig heeft die onafhankelijk zijn van een TPdf-instantie

FPdfPdfCommon

FunctionPurpose
AnsiCountDictKeyTokensTelt één gedecodeerde naamsleutel op het hoogste niveau van een ruwe PDF-dictionary terwijl geneste waarden, strings en opmerkingen worden overgeslagen
TPdfParserResourceBudgetDefinieert procesbrede limieten voor recursie, tokens, objecten, gedecodeerde bytes, expansieverhouding, allocatie en deadline; Default geeft de bibliotheekstandaardwaarden terug
ConfigurePdfParserResourceBudgetValideert en vervangt atomair het procesbeleid dat door latere custom parserbewerkingen wordt gebruikt
GetPdfParserResourceBudgetGeeft een thread-safe waarde-momentopname van het huidige procesbeleid terug
ResetPdfParserResourceBudgetHerstelt het standaardprocesbeleid
PdfParserStartTick, PdfParserDeadlineReachedBieden wrap-safe deadline-checkpoints voor eigen parserimplementaties

FPdfAssocFiles

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

Public typePurpose
TPdfAFRelationshipISO 32000-2 AFRelationship-waarden afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData en afTemplate, inclusief de PDF 2.0-toevoegingen
TAssociateFileEén bijbehorend bestand met FileName, Description, payload-Content, Relationship en optionele MIMEType
TAssocFilesOptionsLijst met bijbehorende bestanden Files en catalogus- of paginadoel TargetPage, met standaardwaarden uit TAssocFilesOptions.Default
EPdfAssocFilesErrorWordt verhoogd door InjectAssociateFiles wanneer de bron geen leesbare trailer of catalogus heeft, of wanneer TargetPage negatief is of geen pagina in de page-tree-volgorde aanwijst; de doelstream blijft ongewijzigd

FPdfPades

FunctionPurpose
InjectPadesDssMarkersVoegt DSS-certificaat-, OCSP-, CRL- en VRI-materiaal toe via een incrementele update
RenewPadesArchiveTimestampVoegt een documenttijdstempel toe en rapporteert de resulterende archiefnivel- en tijdstempelmetadata
ValidatePadesCompliance, ValidatePadesTrustValideren top-level handtekeninginvoer-cardinaliteit, exacte ByteRange- en Contents-token-exclusie, cryptografische integriteit, vertrouwen, revocation en tijdstempelbewijs
AnalyzePadesSignatureRevisionsClassificeert latere revisies, objectwijzigingen, FieldMDP-effecten en wijzigingsrisico's
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytesBouwen begrensd multi-signature-bewijs vanuit een stream of een bestaande onveranderlijke bronbyte-vastlegging
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithmInspecteren CMS- en certificaatalgoritme-parameters en beoordelen hun ondersteunde beveiligingsstatus, met toepassing van het PDF 2.0 elliptic-curve-profiel en de ETSI TS 119 312 RSA signature suites
VerifyCmsAlgorithmProtectionControleert het CMS algorithm-protection signed attribute tegen de signer-digest- en handtekeningalgoritmen
SignPadesBytesVoegt een lokale PAdES-handtekening toe met optionele RFC 3161-tijdstempeling
PreparePadesRemoteSignature, CompletePadesRemoteSignatureBereiden een gebonden fixed-width remote-signing-placeholderworkflow voor en ronden die af
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequestBewaren of herstellen de aanvraagmetadata die nodig is om remote signing af te ronden

Public PAdES types

AreaTypes
Niveaus en validatieTPadesLevel (plUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA), TPadesValidationIssue, TPadesValidationIssues, TPadesValidationSourceStatus (pvssUnavailable, pvssOriginalBytes, pvssIncomplete), TPadesValidationResult
CryptografieTPadesCryptoStatus (pcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate), TPadesSignatureAlgorithmFamily (psafUnknown, psafRsa, psafEcdsa, psafEd25519, psafEd448), TPadesSignatureAlgorithmInfo, TPadesSignatureValidation, TPadesSignatureValidations
Trust-validatieTPadesTrustNetworkPolicy (ptnpOffline, ptnpOnline), TPadesTrustValidationStage, TPadesTrustValidationProgress, TPadesTrustValidationProgressEvent, TPadesTrustValidationOptions, TPadesTrustValidationAsyncStatus, TPadesTrustValidationCompletion, TPadesTrustValidationReply
RevisieanalyseTPadesRevisionAnalysisStatus (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
BewijsrapportenTPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport
DSS en archieftijdstempelsTPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport
OndertekeningTPadesSeedValueConstraint, TPadesSeedValueConstraints, TPadesSignatureFieldOptions, TPadesSignOptions, TPadesRemoteSignOptions, TPadesRemoteByteRange, TPadesRemoteSigningRequest

TPadesValidationResult biedt het archief-Level, de Issues-set, SourceStatus, IntegrityStatus en de per-signature Signatures-array, met IsCompliant, IsCompliantAt, IsCryptographicallyValid en DocTimeStampCount die Document Time-stamp-dictionaries telt; optierecords leveren een statische Default-initializer

TPadesSignatureAlgorithmInfo rapporteert Family, DigestAlgorithmOid, SignatureAlgorithmOid, PublicKeyAlgorithmOid, CurveOid, DigestParametersPresent, DigestParameterBits, SignatureParametersPresent, PublicKeyParametersPresent, PublicKeyParametersAreNamedCurve en PolicyStatus; TPadesSignatureValidation voegt IsDocumentTimeStamp, CoveredRevisionLength, de ByteRangeStatus, CmsSignatureStatus, AlgorithmPolicyStatus, SigningCertificateStatus, CertificateTrustStatus, QualifiedTrustStatus, RevocationStatus, TimeStampStatus, TimeStampSignatureStatus, TimeStampTrustStatus en TimeStampRevocationStatus-vonnissen, NativeSignatureError, NativeTrustError, SignerCertificateSha256, CertificateChainSha256 en het geneste AlgorithmInfo- en QualifiedTrust-bewijs toe

TPadesTrustValidationStage doorloopt ptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken en ptvsCompleted; TPadesTrustValidationProgress draagt Stage, SignatureIndex, SignatureCount en Percent; TPadesTrustValidationOptions kiest de NetworkPolicy, CheckRevocation, CheckTimeStamps, UrlRetrievalTimeoutMs, QualifiedTrustEvaluator, CancellationToken en OnProgress; TPadesTrustValidationAsyncStatus is ptvasSuccess, ptvasCancelled of ptvasFailure, en TPadesTrustValidationCompletion geeft de async Status, Validation, ErrorMessage, ErrorClassName en CancellationReason terug

TPadesRevisionChangeKind classificeert prckCrossReference, prckSignature, prckValidationMaterial, prckFormField, prckAnnotation, prckPageContent, prckDocumentStructure, prckMetadata, prckActiveContent, prckDeletedObject, prckCompressedObject en prckUnknown; TPadesRevisionRisk omvat prrMalformedRevisionChain, prrDuplicateObjectDefinition, prrUnreferencedObjectDefinition, prrSignatureObjectRedefined, prrPageContentChanged, prrDocumentStructureChanged, prrActiveContentAdded, prrFieldMdpUnresolved, prrCompressedObjectUnresolved, prrCoveredRevisionNotFound en prrResourceLimitExceeded

TPadesRevisionObjectChange rapporteert RevisionIndex, ObjectNumber, Generation, Offset, ObjectStreamNumber, ObjectStreamIndex, Kind, Decision, IsAuthoritative en IsRedefinition; TPadesSignatureRevisionAnalysis voegt SignatureIndex, SignatureObjectNumber, CoveredRevisionLength, CoveredRevisionIndex, DocMdpPermission, FieldMdpAction, FieldNames, LaterRevisionCount, Status, Risks en Changes toe; TPadesRevisionAnalysisReport aggregeert SourceStatus, RevisionCount, SignatureCount, Status, Risks, Signatures en ErrorMessage

TPadesEvidenceMaterialKind kiest pemkCertificate, pemkOcsp of pemkCrl; TPadesValidationMaterialEvidence rapporteert Kind, ObjectNumber, StoredLength en Sha256 voor elke opgeslagen stream; TPadesVriEvidence is geselecteerd op Key en ObjectNumber en somt CertificateObjectNumbers, OcspObjectNumbers en CrlObjectNumbers op

TPadesSignatureEvidence legt SignatureIndex, SignatureObjectNumber, IsDocumentTimeStamp, SubFilter, ByteRangeA, ByteRangeB, ByteRangeC, ByteRangeD, ContentsSha256, VriKey, SignaturePolicyOid, CommitmentTypeOid, HasMatchingVri, VriEvidenceIndex, TimeStampTokenSha256, TimeStampPolicyOid, TimeStampGenTime, TimeStampNonce, NativeFactsAvailable, NativeReason, NativeTime, NativeDocMdpPermission en de geneste Validation en Revision vast

TPadesEvidenceReport aggregeert SourceLength, PdfiumSignatureCount, DssCertificateCount, DssOcspCount, DssCrlCount, DssVriCount, StoredValidationBytes, IsTruncated, Validation, RevisionAnalysis, Signatures, ValidationMaterials en VriEntries, begrensd door TPadesEvidenceReportOptions met TrustOptions, MaxSourceBytes, MaxSignatures, MaxRevisionChangesPerSignature, MaxValidationMaterials, MaxStoredValidationBytes en MaxVriEntries

TPadesDssMaterial bewaart één DerBytes-certificaat-, OCSP- of CRL-payload; TPadesDssVri kiest documentniveau-materiaal via SignatureContents, CertIndexes, OcspIndexes en CrlIndexes; TPadesDssOptions accepteert Certs, Ocsps, Crls, Vris, EsicExtensionLevel en IncludeVri; TPadesArchiveTimestampOptions draagt TsaUrl, Nonce, ContentsSize, UpdateDss en de geneste DssOptions; TPadesArchiveTimestampReport rapporteert SourceLevel, ResultLevel, PreviousDocTimeStampCount, ResultDocTimeStampCount, SourceLength, ResultLength, DssUpdated, GenTime, PolicyOid en Nonce

TPadesSeedValueConstraint beperkt psvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo of psvcDigestMethod; TPadesSignatureFieldOptions beperkt FieldName, RequiredSeedValues, Reasons, LegalAttestations, AcceptableCertificates, CertificateRequired, LockAction, LockFields en CertificationPermission; TPadesSignOptions draagt CertificateThumbprint, PaddingScheme, Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize, Level, TsaUrl, Nonce, de groep SignaturePolicyOid, SignaturePolicyHash, SignaturePolicyUri en SignaturePolicyDocument, en geneste FieldOptions; TPadesRemoteSignOptions weerspiegelt de remote-veilige deelverzameling Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize en FieldOptions; TPadesRemoteSigningRequest bindt FormatVersion, PreparedFingerprint, DocumentDigest, ByteRange, ContentsHexOffset en ContentsSize

TPadesTrustValidationOptions.QualifiedValidationTime kiest de evaluatietijd van de trusted-list-servicegeschiedenis, waarbij nul de huidige tijd kiest

TPadesSignatureValidation draagt ook RevocationReason: TPdfCmsRevocationReason, NativeRevocationError: Cardinal, TimeStampRevocationReason: TPdfCmsRevocationReason en NativeTimeStampRevocationError: Cardinal met zich mee. De handtekeningdiagnostiek komt uit zijn losse CMS-controle; de timestampdiagnostiek komt uit de controle van het vastgehechte token, Document Time-stamps incluis, en vervangt nooit de diagnostiek van de handtekening

Reden standaard op pcrrNone en native fouten op nul wanneer revocation uit staat of de bijbehorende CMS-controle niet wordt bereikt. Die defaults bewijzen geen succes; bekijk RevocationStatus en TimeStampRevocationStatus. ValidatePadesTrustAsync neemt deze velden op in zijn eindresultaat, en TPadesSignatureEvidence.Validation houdt ze vast voor TPadesEvidenceReport.ToJson en ToCsv

De diagnostische velden zijn achteraan aan het publieke TPadesSignatureValidation-record toegevoegd, waardoor het record groter is geworden. Bouw applicaties en packages die dit record of omhullende records uitwisselen opnieuw tegen de bijgewerkte units; eerder gecompileerde binaries delen de nieuwe recordlayout niet

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;

Public typePurpose
TPdfAConformanceGedetecteerd of gevraagd PDF/A-onderdeel en conformantieniveau
TPdfAValidationIssue, TPdfAValidationIssuesIndividuele preflight-bevindingen en hun verzameling weergave
TPdfANameArrayStringlijst gebruikt door naamgebaseerde validatiebevindingen
TPdfAMetadataField, TPdfAMetadataFieldsDe acht ISO 19005-1 Table 1 Info-naar-XMP-mappingen (pamfTitle, pamfAuthor, pamfSubject, pamfKeywords, pamfCreator, pamfProducer, pamfCreationDate, pamfModDate) en hun verzameling weergave
TPdfAMetadataValuesUnicode Info-waarden Title, Author, Subject, Keywords, Creator, Producer, CreationDate en ModDate, waarbij sleutelaanwezigheid via Present onafhankelijk van lege tekst wordt bijgehouden
TPdfAMetadataState, TPdfAMetadataComparison, TPdfAMetadataComparisons, TPdfAMetadataReportGetypeerd equivalentiebewijs per veld met statussen pamsNotRequired, pamsEquivalent, pamsXmpMissing, pamsXmpTypeMismatch, pamsValueMismatch, pamsInvalidInfoDate, pamsInvalidXmpDate, per veld Field, State, InfoValue en XmpValue, rapportniveau HasXmpPacket, XmpParseError, MismatchFields en de Comparisons-array, en geaggregeerde status
TPdfAValidationResultConformance, de Issues-set en het IsCompliant-resultaat
TPdfASaveOptionsMetadata, identificatoren, ICC-profielbytes in IccProfileData, output intent en conformance-instellingen met Default-waarden

InjectPdfAMarkers gebruikt sparse opzoeking van de laatste revisie en begrensde bronkopiëring voor geldige klassieke, xref-stream-, hybride en object-stream-layouts, terwijl de compatibiliteitsparser behouden blijft voor niet-ondersteunde of misvormde kruisverwijsdata

De incrementele revisie behoudt root- en Info-generaties, de bron-xref-stijl, trailer-identificatoren, versleutelingsweigeringgedrag en de Level A-downgrade-semantiek

FPdfPdfe

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

Public typePurpose
TPdfEConformanceGedetecteerde of gevraagde PDF/E-conformance
TPdfEValidationIssue, TPdfEValidationIssuesPDF/E-structuur- en contentbevindingen, inclusief top-level AcroForm /XFA en indirect /NeedAppearances true; gewone AcroForm-velden en ingesloten engineering-assets blijven toegestaan
TPdfEValidationResultConformance, de Issues-set en het IsCompliant-resultaat
TPdfESaveOptionsPDF/E-Version, metadata, documentidentificatoren en standaardwaarden

FPdfPdfr

FunctionPurpose
InjectPdfRMarkersSchrijft PDF/R-identificatie en beperkte catalogus- en Info-structuren
ValidatePdfRComplianceValideert een stream met de standaardlimieten voor rasterdocumenten
ValidatePdfRComplianceWithOptionsValideert een stream met door de aanroeper gekozen resolutie-, geometrie-, strip- en versleutelingseisen
ValidatePdfRPageFactsValideert al verzamelde paginaegeometrie, objectaantallen, afbeeldingskenmerken en filters

De publieke types zijn TPdfRConformance, TPdfRValidationIssue, TPdfRValidationIssues, TPdfRValidationResult met zijn Issues-set en IsCompliant-resultaat, TPdfRStringArray, TPdfRValidationOptions, TPdfRPageFacts en TPdfRSaveOptions

TPdfRValidationOptions stemt MinimumResolutionDpi, MaximumResolutionDpi, GeometryTolerancePoints, RequireFullPageStrip en RequireEncryptedPdf20Profile af; TPdfRSaveOptions draagt StripInfoOptionalEntries en StripCatalogOptionalEntries om bron-Info- of catalogusinvoeren te wissen die §6.4.3 of de §6.3-white list anders zou afwijzen; TPdfRPageFacts registreert PageNumber, MediaWidth, MediaHeight, de grenzen ImageLeft, ImageBottom, ImageRight en ImageTop, ImageCount, TextObjectCount, PathObjectCount, FormObjectCount en ShadingObjectCount, rastergeometrie PixelWidth, PixelHeight, HorizontalDpi, VerticalDpi en BitsPerPixel, plus ColorSpace en de Filters-keten voor elke pagina

FPdfPdfua

FunctionPurpose
InjectPdfUaMarkersVoegt PDF/UA-identificatie-, taal-, titel-, MarkInfo-, viewer preference- en XMP-markers toe
ValidatePdfUaComplianceValideert PDF/UA-1- of PDF/UA-2-markers en structuur, optioneel met originele bytes voor XMP-controles
PdfUaIsStandardStructTypeToetst een structuurnaam aan de ISO-standaardset, inclusief genummerde koppen
PdfReadRoleMapPairsExtraheert directe of indirecte RoleMap-sleutels en -waarden naar parallelle arrays

De publieke types zijn TPdfUaConformance, TPdfUaValidationIssue, TPdfUaValidationIssues, TPdfUaValidationResult met zijn Issues-set en IsCompliant-resultaat, TPdfUaSaveOptions en TPdfUaNameArray

De PDFium-unit stelt bovendien TPdfUaLanguageSource, TPdfUaLanguageContentKind, TPdfUaLanguageResolution, TPdfUaLanguageSpan, TPdfUaLanguageSpans, TPdfUaLanguageCoverageOptions en TPdfUaLanguageCoverageReport bloot voor begrensd bewijs van effectieve talen

TPdfUaUnicodeObjectCoverage, TPdfUaUnicodeObjectCoverages, TPdfUaUnicodeCoverageOptions en TPdfUaUnicodeCoverageReport leveren begrensd objectgericht bewijs van directe Unicode- en ActualText-extractie

ValidatePdfUaPageContentTagging kruist native pagina-object-marks af tegen paginagericht structuur-MCID's en meldt zowel niet-getagde echte content als Artifact-content die in de structuurboom is blootgesteld

TPdfUaSaveOptions.Default kiest de PDF/UA-1-standaardwaarden, terwijl TPdfUaSaveOptions.PdfUa2 het PDF/UA-2-profiel kiest

TPdfUaSaveOptions draagt DocumentTitle, Language, de metadata Author, Subject, Keywords, Creator en Producer, CreationDate en ModDate, de UUID's DocumentId en InstanceId, de identificatoren Part, Revision, Amd en Corr, en de schakelaars EnsureMarkInfo en EnsureDisplayDocTitle om de vereiste catalogusinvoeren te injecteren wanneer de bron die mist

FPdfPdfvt

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

Public typePurpose
TPdfVTConformance, TPdfVTTrappedStatePDF/VT-conformance en de overgeërfde PDF/X trapped-state-keuze tussen ptvUnspecified, ptvTrue en ptvFalse, waarbij ptvUnspecified bij het wegschrijven wordt genormaliseerd naar ptvFalse
TPdfVTValidationIssue, TPdfVTValidationIssues, TPdfVTValidationResultValidatiebevindingen, de Issues-set, conformance en het IsCompliant-resultaat
TPdfDpmEntry, TPdfDpmEntries, TDpmTargetDocument Part Metadata-invoeren met Name, Value en IsNestedDict, geplaatst op het dptRoot- of dptLeaf-doel
TPdfVTDPartEvidenceBegrensde documentpart-hiërarchie en printing-condition-bewijs met PageCount, RecordLevel en RecipientRecordCount
TPdfVTSaveOptionsPDF/X-basis, ICC-profielbytes in IccProfileData, output intent via OutputCondition, OutputConditionIdentifier, RegistryName en OutputIntentInfo, Trapped-state, metadata, identificatoren, DPart, DPM via DpmEntries geplaatst door DpmTarget, en standaardinstellingen

FPdfPdfx

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

Public typePurpose
TPdfXConformance, TPdfXTrappedStatePDF/X-variant en Info-dictionary trapped-state-keuze tussen ptUnspecified, ptTrue, ptFalse en ptUnknown, waarbij ptUnspecified de invoer weglaat
TPdfXValidationIssue, TPdfXValidationIssues, TPdfXValidationResultValidatiebevindingen, de Issues-set, conformance en het IsCompliant-resultaat
TPdfXSaveOptionsConformance, ICC-profielbytes in IccProfileData, output intent via OutputCondition, OutputConditionIdentifier, RegistryName en OutputIntentInfo, Trapped-state, metadata, identificatoren en standaardwaarden

RSA-PSS-parameterbeleid

TPadesRsaPssParameters stelt Valid, HashAlgorithmOid, MaskGenAlgorithmOid, MaskGenHashAlgorithmOid, SaltLength en TrailerField beschikbaar; TPadesSignatureAlgorithmInfo.SignaturePss en PublicKeyPss rapporteren CMS- en SPKI-beperkingen onafhankelijk van elkaar

InspectPadesSignatureAlgorithm vereist CMS PSS-parameters, accepteert de lege SEQUENCE met RFC-standaardwaarden, en wijst misvormde DER, dubbele of ongeordende expliciete velden, niet-ondersteunde integer-encodings en te grote parameterblokken af

EvaluatePadesSignatureAlgorithm vereist dat de CMS-digest overeenkomt met de PSS-hash; een PSS-only-sleutel wijst PKCS #1 v1.5 af, en beperkte sleutels vereisen een overeenkomende hash, MGF-hash en trailer met een handtekening-salt van minstens het minimum van de sleutel

Een andere ondersteunde MGF1-hash kan geldig zijn; onbekende algoritmen zijn Unsupported, zwakke MGF-hashes zijn Indeterminate en gebroken hashes zijn Invalid

Parameterblokken zijn begrensd op 16 KiB en salt-/trailerwaarden zijn niet-negatieve 32-bits integers; dit structurele beleid vult de cryptobackend aan en bewijst geen RSA-sleutelsterkte of EMSA-PSS-handtekeninggeldigheid

Vul bij het handmatig construeren van algoritmebewijs SignaturePss en SignatureParametersPresent in, in plaats van alleen de PSS-OID mee te geven

Related API

De methoden TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX en de PAdES-methoden bieden documentinstantie-wrappers rond deze units