PDFium Component Docs

Pomocnicze moduły standardów PDF

Te moduły udostępniają wstrzykiwacze i walidatory na poziomie strumieni, operacje podpisywania oraz rekordy pomocnicze używane przez odpowiednie wygodne metody TPdf

Używaj ich, gdy przepływ pracy już posiada strumienie źródłowe i docelowe albo potrzebuje opcji walidacji i szczegółów wyników niezależnych od instancji TPdf

FPdfPdfCommon

FunctionPurpose
AnsiCountDictKeyTokensZlicza jeden zdekodowany klucz nazwy na najwyższym poziomie surowego słownika PDF, pomijając zagnieżdżone wartości, łańcuchy i komentarze
TPdfParserResourceBudgetDefiniuje ogólnoprocesowe limity rekurencji, tokenów, obiektów, zdekodowanych bajtów, współczynnika ekspansji, alokacji i terminu; Default zwraca domyślne limity biblioteki
ConfigurePdfParserResourceBudgetWaliduje i atomowo zastępuje politykę procesu używaną przez późniejsze własne operacje parsera
GetPdfParserResourceBudgetZwraca bezpieczną wątkowo migawkę wartości bieżącej polityki procesu
ResetPdfParserResourceBudgetPrzywraca domyślną politykę procesu
PdfParserStartTick, PdfParserDeadlineReachedDostarczają bezpieczne wobec zawinięcia punkty kontrolne terminu dla własnych implementacji parserów

FPdfAssocFiles

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

Public typePurpose
TPdfAFRelationshipWartości AFRelationship z ISO 32000-2: afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData i afTemplate, łącznie z dodatkami z PDF 2.0
TAssociateFileJeden plik towarzyszący z FileName, Description, ładunkiem Content, Relationship i opcjonalnym MIMEType
TAssocFilesOptionsLista Files plików towarzyszących oraz katalog albo strona TargetPage, z wartościami domyślnymi z TAssocFilesOptions.Default
EPdfAssocFilesErrorZgłaszany przez InjectAssociateFiles, gdy źródło nie ma czytelnego trailer lub katalogu albo gdy TargetPage jest ujemny lub nie wskazuje żadnej strony w kolejności drzewa stron; strumień docelowy pozostaje niezmieniony

FPdfPades

FunctionPurpose
InjectPadesDssMarkersDodaje materiał DSS: certyfikaty, OCSP, CRL i VRI przez aktualizację przyrostową
RenewPadesArchiveTimestampDopisuje znacznik czasu dokumentu i raportuje wynikowy poziom archiwum oraz metadane znacznika czasu
ValidatePadesCompliance, ValidatePadesTrustWalidują liczebność wpisów podpisów najwyższego poziomu, dokładne wykluczenie tokenu ByteRange i Contents, integralność kryptograficzną, zaufanie, unieważnienia i dowody znaczników czasu
AnalyzePadesSignatureRevisionsKlasyfikuje późniejsze rewizje, zmiany obiektów, efekty FieldMDP i ryzyka modyfikacji
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytesBudują ograniczone dowody wielu podpisów ze strumienia albo z istniejącego niemodyfikowalnego uchwytu bajtów źródłowych
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithmInspekcjonują parametry algorytmów CMS i certyfikatu oraz oceniają ich obsługiwany status bezpieczeństwa, stosując profil krzywych eliptycznych PDF 2.0 i zestawy podpisów RSA ETSI TS 119 312
VerifyCmsAlgorithmProtectionSprawdza podpisany atrybut ochrony algorytmów CMS względem skrótu podpisującego i algorytmów podpisu
SignPadesBytesDopisuje lokalny podpis PAdES z opcjonalnym znacznikiem czasu RFC 3161
PreparePadesRemoteSignature, CompletePadesRemoteSignaturePrzygotowują i kończą związany, o stałej szerokości przepływ zdalnego podpisywania z placeholderem
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequestUtrwalają albo przywracają metadane żądania wymagane do ukończenia zdalnego podpisywania

Public PAdES types

AreaTypes
Poziomy i walidacjaTPadesLevel (plUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA), TPadesValidationIssue, TPadesValidationIssues, TPadesValidationSourceStatus (pvssUnavailable, pvssOriginalBytes, pvssIncomplete), TPadesValidationResult
KryptografiaTPadesCryptoStatus (pcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate), TPadesSignatureAlgorithmFamily (psafUnknown, psafRsa, psafEcdsa, psafEd25519, psafEd448), TPadesSignatureAlgorithmInfo, TPadesSignatureValidation, TPadesSignatureValidations
Walidacja zaufaniaTPadesTrustNetworkPolicy (ptnpOffline, ptnpOnline), TPadesTrustValidationStage, TPadesTrustValidationProgress, TPadesTrustValidationProgressEvent, TPadesTrustValidationOptions, TPadesTrustValidationAsyncStatus, TPadesTrustValidationCompletion, TPadesTrustValidationReply
Analiza rewizjiTPadesRevisionAnalysisStatus (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
Raporty dowodówTPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport
DSS i znaczniki czasu archiwumTPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport
PodpisywanieTPadesSeedValueConstraint, TPadesSeedValueConstraints, TPadesSignatureFieldOptions, TPadesSignOptions, TPadesRemoteSignOptions, TPadesRemoteByteRange, TPadesRemoteSigningRequest

TPadesValidationResult dostarcza archiwalny Level, zbiór Issues, SourceStatus, IntegrityStatus i per podpis tablicę Signatures, z IsCompliant, IsCompliantAt, IsCryptographicallyValid i liczącym słowniki Document Time-stamp DocTimeStampCount; rekordy opcji dostarczają statyczny inicjalizator Default

TPadesSignatureAlgorithmInfo raportuje Family, DigestAlgorithmOid, SignatureAlgorithmOid, PublicKeyAlgorithmOid, CurveOid, DigestParametersPresent, DigestParameterBits, SignatureParametersPresent, PublicKeyParametersPresent, PublicKeyParametersAreNamedCurve i PolicyStatus; TPadesSignatureValidation dodaje werdykty IsDocumentTimeStamp, CoveredRevisionLength, ByteRangeStatus, CmsSignatureStatus, AlgorithmPolicyStatus, SigningCertificateStatus, CertificateTrustStatus, QualifiedTrustStatus, RevocationStatus, TimeStampStatus, TimeStampSignatureStatus, TimeStampTrustStatus i TimeStampRevocationStatus, a także NativeSignatureError, NativeTrustError, SignerCertificateSha256, CertificateChainSha256 oraz zagnieżdżone dowody AlgorithmInfo i QualifiedTrust

TPadesTrustValidationStage przechodzi przez ptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken i ptvsCompleted; TPadesTrustValidationProgress niesie Stage, SignatureIndex, SignatureCount i Percent; TPadesTrustValidationOptions wybiera NetworkPolicy, CheckRevocation, CheckTimeStamps, UrlRetrievalTimeoutMs, QualifiedTrustEvaluator, CancellationToken i OnProgress; TPadesTrustValidationAsyncStatus to ptvasSuccess, ptvasCancelled lub ptvasFailure, a TPadesTrustValidationCompletion zwraca asynchroniczny Status, Validation, ErrorMessage, ErrorClassName i CancellationReason

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

TPadesRevisionObjectChange raportuje RevisionIndex, ObjectNumber, Generation, Offset, ObjectStreamNumber, ObjectStreamIndex, Kind, Decision, IsAuthoritative i IsRedefinition; TPadesSignatureRevisionAnalysis dodaje SignatureIndex, SignatureObjectNumber, CoveredRevisionLength, CoveredRevisionIndex, DocMdpPermission, FieldMdpAction, FieldNames, LaterRevisionCount, Status, Risks i Changes; TPadesRevisionAnalysisReport agreguje SourceStatus, RevisionCount, SignatureCount, Status, Risks, Signatures i ErrorMessage

TPadesEvidenceMaterialKind wybiera pemkCertificate, pemkOcsp lub pemkCrl; TPadesValidationMaterialEvidence raportuje Kind, ObjectNumber, StoredLength i Sha256 dla każdego zapisanego strumienia; TPadesVriEvidence jest kluczowany przez Key i ObjectNumber i wylicza CertificateObjectNumbers, OcspObjectNumbers oraz CrlObjectNumbers

TPadesSignatureEvidence przechwytuje SignatureIndex, SignatureObjectNumber, IsDocumentTimeStamp, SubFilter, ByteRangeA, ByteRangeB, ByteRangeC, ByteRangeD, ContentsSha256, VriKey, SignaturePolicyOid, CommitmentTypeOid, HasMatchingVri, VriEvidenceIndex, TimeStampTokenSha256, TimeStampPolicyOid, TimeStampGenTime, TimeStampNonce, NativeFactsAvailable, NativeReason, NativeTime, NativeDocMdpPermission oraz zagnieżdżone Validation i Revision

TPadesEvidenceReport agreguje SourceLength, PdfiumSignatureCount, DssCertificateCount, DssOcspCount, DssCrlCount, DssVriCount, StoredValidationBytes, IsTruncated, Validation, RevisionAnalysis, Signatures, ValidationMaterials i VriEntries, ograniczone przez TPadesEvidenceReportOptions z TrustOptions, MaxSourceBytes, MaxSignatures, MaxRevisionChangesPerSignature, MaxValidationMaterials, MaxStoredValidationBytes i MaxVriEntries

TPadesDssMaterial przechowuje jeden ładunek DerBytes certyfikatu, OCSP albo CRL; TPadesDssVri wybiera materiał na poziomie dokumentu przez SignatureContents, CertIndexes, OcspIndexes i CrlIndexes; TPadesDssOptions przyjmuje Certs, Ocsps, Crls, Vris, EsicExtensionLevel i IncludeVri; TPadesArchiveTimestampOptions niesie TsaUrl, Nonce, ContentsSize, UpdateDss i zagnieżdżone DssOptions; TPadesArchiveTimestampReport raportuje SourceLevel, ResultLevel, PreviousDocTimeStampCount, ResultDocTimeStampCount, SourceLength, ResultLength, DssUpdated, GenTime, PolicyOid i Nonce

TPadesSeedValueConstraint ogranicza psvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo lub psvcDigestMethod; TPadesSignatureFieldOptions ogranicza FieldName, RequiredSeedValues, Reasons, LegalAttestations, AcceptableCertificates, CertificateRequired, LockAction, LockFields i CertificationPermission; TPadesSignOptions niesie CertificateThumbprint, PaddingScheme, Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize, Level, TsaUrl, Nonce, grupę SignaturePolicyOid, SignaturePolicyHash, SignaturePolicyUri i SignaturePolicyDocument oraz zagnieżdżone FieldOptions; TPadesRemoteSignOptions zwierciadli bezpieczny dla zdalnego podzbiór Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize i FieldOptions; TPadesRemoteSigningRequest wiąże FormatVersion, PreparedFingerprint, DocumentDigest, ByteRange, ContentsHexOffset i ContentsSize

TPadesTrustValidationOptions.QualifiedValidationTime wybiera czas oceny historii usług z listy zaufanych, przy czym zero wybiera czas bieżący

TPadesSignatureValidation niesie też RevocationReason: TPdfCmsRevocationReason, NativeRevocationError: Cardinal, TimeStampRevocationReason: TPdfCmsRevocationReason i NativeTimeStampRevocationError: Cardinal. Diagnostyka podpisu pochodzi z jego odłączonego sprawdzenia CMS; diagnostyka znacznika czasu pochodzi ze sprawdzenia tokena dołączonego, łącznie z Document Time-stamps, i nigdy nie zastępuje diagnostyki podpisu

Powody domyślnie przyjmują pcrrNone, a natywne kody błędów zero, gdy unieważnienia są wyłączone albo odpowiadający przebieg CMS nie został osiągnięty. Te wartości domyślne nie dowodzą sukcesu; oglądaj RevocationStatus i TimeStampRevocationStatus. ValidatePadesTrustAsync zachowuje te pola w swoim wyniku końcowym, a TPadesSignatureEvidence.Validation zatrzymuje je dla TPadesEvidenceReport.ToJson i ToCsv

Pola diagnostyczne doszły na końcu publicznego rekordu TPadesSignatureValidation i zwiększyły jego rozmiar. Przebuduj aplikacje i pakiety wymieniające ten rekord lub rekordy go zawierające względem zaktualizowanych jednostek; wcześniej skompilowane binaria nie dzielą nowego układu rekordu

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
TPdfAConformanceWykryty albo żądany part i poziom zgodności PDF/A
TPdfAValidationIssue, TPdfAValidationIssuesPojedyncze ustalenia preflight i ich reprezentacja zbioru
TPdfANameArrayLista łańcuchów używana przez ustalenia walidacji oparte na nazwach
TPdfAMetadataField, TPdfAMetadataFieldsOsiem mapowań Info-na-XMP z ISO 19005-1 Table 1 (pamfTitle, pamfAuthor, pamfSubject, pamfKeywords, pamfCreator, pamfProducer, pamfCreationDate, pamfModDate) i ich reprezentacja zbioru
TPdfAMetadataValuesUnikodowe wartości Info Title, Author, Subject, Keywords, Creator, Producer, CreationDate i ModDate z obecnością klucza śledzoną przez Present niezależnie od pustego tekstu
TPdfAMetadataState, TPdfAMetadataComparison, TPdfAMetadataComparisons, TPdfAMetadataReportTypowane per pole dowody równoważności ze stanami pamsNotRequired, pamsEquivalent, pamsXmpMissing, pamsXmpTypeMismatch, pamsValueMismatch, pamsInvalidInfoDate, pamsInvalidXmpDate, per pole Field, State, InfoValue i XmpValue, na poziomie raportu HasXmpPacket, XmpParseError, MismatchFields i tablicą Comparisons oraz zagregowanym statusem
TPdfAValidationResultZgodność, zbiór Issues i wynik IsCompliant
TPdfASaveOptionsUstawienia metadanych, identyfikatorów, bajtów profilu ICC w IccProfileData, output intent i zgodności z wartościami Default

InjectPdfAMarkers używa rzadkiego wyszukiwania najnowszej rewizji i ograniczonego kopiowania źródła dla poprawnych układów klasycznych, strumieni xref, hybrydowych i strumieni obiektów, zachowując parser kompatybilności dla nieobsługiwanych lub uszkodzonych danych odwołań krzyżowych

Rewizja przyrostowa zachowuje generacje korzenia i Info, styl źródłowego xref, identyfikatory trailera, zachowanie odmowy szyfrowania oraz semantykę degradacji do Level A

FPdfPdfe

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

Public typePurpose
TPdfEConformanceWykryta albo żądana zgodność PDF/E
TPdfEValidationIssue, TPdfEValidationIssuesUstalenia strukturalne i treściowe PDF/E, w tym najwyższopoziomowy AcroForm /XFA i pośrednie /NeedAppearances true; zwykłe pola AcroForm i osadzone zasoby inżynieryjne pozostają dozwolone
TPdfEValidationResultZgodność, zbiór Issues i wynik IsCompliant
TPdfESaveOptionsPDF/E Version, metadane, identyfikatory dokumentu i wartości domyślne

FPdfPdfr

FunctionPurpose
InjectPdfRMarkersZapisuje identyfikację PDF/R oraz ograniczone struktury katalogu i Info
ValidatePdfRComplianceWaliduje strumień z domyślnymi limitami dokumentów rastrowych
ValidatePdfRComplianceWithOptionsWaliduje strumień z wybranymi przez wywołującego wymaganiami rozdzielczości, geometrii, pasów i szyfrowania
ValidatePdfRPageFactsWaliduje już zebrane geometrię stron, liczniki obiektów, cechy obrazów i filtry

Typy publiczne to TPdfRConformance, TPdfRValidationIssue, TPdfRValidationIssues, TPdfRValidationResult ze zbiorem Issues i wynikiem IsCompliant, TPdfRStringArray, TPdfRValidationOptions, TPdfRPageFacts oraz TPdfRSaveOptions

TPdfRValidationOptions dostraja MinimumResolutionDpi, MaximumResolutionDpi, GeometryTolerancePoints, RequireFullPageStrip i RequireEncryptedPdf20Profile; TPdfRSaveOptions niesie StripInfoOptionalEntries i StripCatalogOptionalEntries, aby usunąć wpisy Info lub katalogu źródła, które §6.4.3 albo biała lista §6.3 odrzuciłyby; TPdfRPageFacts odnotowuje PageNumber, MediaWidth, MediaHeight, granice ImageLeft, ImageBottom, ImageRight i ImageTop, ImageCount, TextObjectCount, PathObjectCount, FormObjectCount i ShadingObjectCount, geometrię rastrową PixelWidth, PixelHeight, HorizontalDpi, VerticalDpi i BitsPerPixel, plus ColorSpace i łańcuch Filters dla każdej strony

FPdfPdfua

FunctionPurpose
InjectPdfUaMarkersDodaje znaczniki identyfikacji PDF/UA, języka, tytułu, MarkInfo, preferencji przeglądarki i XMP
ValidatePdfUaComplianceWaliduje znaczniki i strukturę PDF/UA-1 albo PDF/UA-2, opcjonalnie używając oryginalnych bajtów do kontroli XMP
PdfUaIsStandardStructTypeSprawdza nazwę typu struktury względem zbioru standardowego ISO, łącznie z numerowanymi nagłówkami
PdfReadRoleMapPairsWyodrębnia bezpośrednie lub pośrednie klucze i wartości RoleMap do równoległych tablic

Typy publiczne to TPdfUaConformance, TPdfUaValidationIssue, TPdfUaValidationIssues, TPdfUaValidationResult ze zbiorem Issues i wynikiem IsCompliant, TPdfUaSaveOptions oraz TPdfUaNameArray

Moduł PDFium ujawnia także TPdfUaLanguageSource, TPdfUaLanguageContentKind, TPdfUaLanguageResolution, TPdfUaLanguageSpan, TPdfUaLanguageSpans, TPdfUaLanguageCoverageOptions i TPdfUaLanguageCoverageReport dla ograniczonych dowodów języka efektywnego

TPdfUaUnicodeObjectCoverage, TPdfUaUnicodeObjectCoverages, TPdfUaUnicodeCoverageOptions i TPdfUaUnicodeCoverageReport dostarczają ograniczonych dowodów ekstrakcji bezpośredniego Unikodu i ActualText w zakresie obiektu

ValidatePdfUaPageContentTagging krzyżowo sprawdza natywne znaczniki obiektów stron względem stronicowych MCID struktury i raportuje zarówno nieoznaczoną rzeczywistą treść, jak i treść Artifact ujawnioną w drzewie struktury

TPdfUaSaveOptions.Default wybiera wartości domyślne PDF/UA-1, a TPdfUaSaveOptions.PdfUa2 wybiera profil PDF/UA-2

TPdfUaSaveOptions niesie DocumentTitle, Language, metadane Author, Subject, Keywords, Creator i Producer, CreationDate i ModDate, identyfikatory UUID DocumentId i InstanceId, identyfikatory Part, Revision, Amd i Corr oraz przełączniki EnsureMarkInfo i EnsureDisplayDocTitle, które wstrzykują wymagane wpisy katalogu, gdy źródło ich nie ma

FPdfPdfvt

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

Public typePurpose
TPdfVTConformance, TPdfVTTrappedStateZgodność PDF/VT i odziedziczony wybór stanu trapped PDF/X wśród ptvUnspecified, ptvTrue i ptvFalse, przy czym ptvUnspecified jest normalizowane do ptvFalse przy zapisie
TPdfVTValidationIssue, TPdfVTValidationIssues, TPdfVTValidationResultUstalenia walidacji, zbiór Issues, zgodność i wynik IsCompliant
TPdfDpmEntry, TPdfDpmEntries, TDpmTargetWpisy Document Part Metadata z Name, Value i IsNestedDict, umieszczane w celu dptRoot albo dptLeaf
TPdfVTDPartEvidenceOgraniczona hierarchia części dokumentu i dowody warunków drukowania z PageCount, RecordLevel i RecipientRecordCount
TPdfVTSaveOptionsBaza PDF/X, bajty profilu ICC w IccProfileData, output intent przez OutputCondition, OutputConditionIdentifier, RegistryName i OutputIntentInfo, stan Trapped, metadane, identyfikatory, DPart, DPM przez DpmEntries umieszczane według DpmTarget oraz ustawienia domyślne

FPdfPdfx

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

Public typePurpose
TPdfXConformance, TPdfXTrappedStateWariant PDF/X i wybór stanu trapped słownika Info wśród ptUnspecified, ptTrue, ptFalse i ptUnknown, przy czym ptUnspecified pomija wpis
TPdfXValidationIssue, TPdfXValidationIssues, TPdfXValidationResultUstalenia walidacji, zbiór Issues, zgodność i wynik IsCompliant
TPdfXSaveOptionsZgodność, bajty profilu ICC w IccProfileData, output intent przez OutputCondition, OutputConditionIdentifier, RegistryName i OutputIntentInfo, stan Trapped, metadane, identyfikatory i wartości domyślne

RSA-PSS parameter policy

TPadesRsaPssParameters udostępnia Valid, HashAlgorithmOid, MaskGenAlgorithmOid, MaskGenHashAlgorithmOid, SaltLength i TrailerField; TPadesSignatureAlgorithmInfo.SignaturePss i PublicKeyPss raportują ograniczenia CMS i SPKI niezależnie

InspectPadesSignatureAlgorithm wymaga parametrów PSS CMS, akceptuje puste SEQUENCE z wartościami domyślnymi RFC i odrzuca uszkodzony DER, zduplikowane lub nieuporządkowane jawne pola, nieobsługiwane kodowania liczb całkowitych i zbyt duże bloki parametrów

EvaluatePadesSignatureAlgorithm wymaga, aby skrót CMS pasował do hasha PSS; klucz tylko PSS odrzuca PKCS #1 v1.5, a klucze ograniczone wymagają zgodnego hasha, hasha MGF i trailera z solą podpisu co najmniej równą minimum klucza

Inny obsługiwany hash MGF1 może być poprawny; nieznane algorytmy są Unsupported, słabe hashe MGF są Indeterminate, a złamane hashe są Invalid

Bloki parametrów są ograniczone do 16 KiB, a wartości soli i trailera to nieujemne 32-bitowe liczby całkowite; ta strukturalna polityka uzupełnia zaplecze kryptograficzne i nie dowodzi siły klucza RSA ani poprawności podpisu EMSA-PSS

Konstruując dowody algorytmu ręcznie, wypełnij SignaturePss i SignatureParametersPresent, zamiast dostarczać tylko OID PSS

Related API

Metody TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX i metody PAdES dostarczają otoczek na poziomie instancji dokumentu wokół tych modułów