PDFium Delphi Component Docs

Unités d’assistance aux normes PDF

Ces unités exposent les injecteurs au niveau des flux, les validateurs, les opérations de signature et les enregistrements de support utilisés par les méthodes de commodité TPdf correspondantes

Utilisez-les lorsqu’un flux de travail possède déjà les flux sources et de destination ou a besoin d’options de validation et de détails de résultats indépendants d’une instance TPdf

FPdfPdfCommon

FonctionRôle
AnsiCountDictKeyTokensCompte une clé de nom décodée au niveau supérieur d’un dictionnaire PDF brut en sautant les valeurs imbriquées, les chaînes et les commentaires
TPdfParserResourceBudgetDéfinit les limites à l’échelle du processus de récursion, de jetons, d’objets, d’octets décodés, de ratio d’expansion, d’allocation et d’échéance ; Default renvoie les valeurs par défaut de la bibliothèque
ConfigurePdfParserResourceBudgetValide et remplace atomiquement la stratégie de processus utilisée par les opérations d’analyse personnalisées ultérieures
GetPdfParserResourceBudgetRenvoie un instantané thread-safe des valeurs de la stratégie de processus courante
ResetPdfParserResourceBudgetRestaure la stratégie de processus par défaut
PdfParserStartTick, PdfParserDeadlineReachedFournissent des points de contrôle d’échéance à l’épreuve du débordement pour les implémentations d’analyse personnalisées

FPdfAssocFiles

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

Type publicRôle
TPdfAFRelationshipValeurs AFRelationship d’ISO 32000-2 afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData et afTemplate, y compris les ajouts de PDF 2.0
TAssociateFileUn fichier associé avec FileName, Description, le Content de la charge utile, Relationship et le MIMEType facultatif
TAssocFilesOptionsListe Files de fichiers associés et TargetPage catalogue ou page, avec les valeurs par défaut de TAssocFilesOptions.Default
EPdfAssocFilesErrorLevée par InjectAssociateFiles quand la source n’a pas de trailer ou de catalogue lisible, ou quand TargetPage est négatif ou ne désigne aucune page dans l’ordre de l’arbre des pages ; le flux de destination reste inchangé

FPdfPades

FonctionRôle
InjectPadesDssMarkersAjoute le matériel DSS de certificats, OCSP, CRL et VRI via une mise à jour incrémentale
RenewPadesArchiveTimestampAjoute un horodatage de document et rapporte le niveau d’archive résultant et les métadonnées d’horodatage
ValidatePadesCompliance, ValidatePadesTrustValident la cardinalité des entrées de signature de premier niveau, l’exclusion exacte du ByteRange et du jeton Contents, l’intégrité cryptographique, la confiance, la révocation et les preuves d’horodatage
AnalyzePadesSignatureRevisionsClasse les révisions ultérieures, les changements d’objets, les effets FieldMDP et les risques de modification
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytesConstruisent des preuves multi-signatures bornées à partir d’un flux ou d’une capture immuable existante des octets sources
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithmInspectent les paramètres d’algorithmes CMS et de certificats et évaluent leur état de sécurité pris en charge, en appliquant le profil à courbes elliptiques de PDF 2.0 et les suites de signature RSA ETSI TS 119 312
VerifyCmsAlgorithmProtectionVérifie l’attribut signé de protection d’algorithme CMS par rapport aux algorithmes d’empreinte et de signature du signataire
SignPadesBytesAjoute une signature PAdES locale avec horodatage RFC 3161 facultatif
PreparePadesRemoteSignature, CompletePadesRemoteSignaturePréparent et achèvent un flux de travail d’emplacement réservé de signature à distance lié à largeur fixe
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequestConservent ou restaurent les métadonnées de requête requises pour achever la signature à distance

Types PAdES publics

DomaineTypes
Niveaux et validationTPadesLevel (plUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA), TPadesValidationIssue, TPadesValidationIssues, TPadesValidationSourceStatus (pvssUnavailable, pvssOriginalBytes, pvssIncomplete), TPadesValidationResult
CryptographieTPadesCryptoStatus (pcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate), TPadesSignatureAlgorithmFamily (psafUnknown, psafRsa, psafEcdsa, psafEd25519, psafEd448), TPadesSignatureAlgorithmInfo, TPadesSignatureValidation, TPadesSignatureValidations
Validation de confianceTPadesTrustNetworkPolicy (ptnpOffline, ptnpOnline), TPadesTrustValidationStage, TPadesTrustValidationProgress, TPadesTrustValidationProgressEvent, TPadesTrustValidationOptions, TPadesTrustValidationAsyncStatus, TPadesTrustValidationCompletion, TPadesTrustValidationReply
Analyse des révisionsTPadesRevisionAnalysisStatus (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
Rapports de preuvesTPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport
DSS et horodatages d’archiveTPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport
SignatureTPadesSeedValueConstraint, TPadesSeedValueConstraints, TPadesSignatureFieldOptions, TPadesSignOptions, TPadesRemoteSignOptions, TPadesRemoteByteRange, TPadesRemoteSigningRequest

TPadesValidationResult fournit le Level d’archive, l’ensemble Issues, SourceStatus, IntegrityStatus et le tableau Signatures par signature, avec IsCompliant, IsCompliantAt, IsCryptographicallyValid et DocTimeStampCount comptant les dictionnaires Document Time-stamp ; les enregistrements d’options fournissent un initialiseur statique Default

TPadesSignatureAlgorithmInfo rapporte Family, DigestAlgorithmOid, SignatureAlgorithmOid, PublicKeyAlgorithmOid, CurveOid, DigestParametersPresent, DigestParameterBits, SignatureParametersPresent, PublicKeyParametersPresent, PublicKeyParametersAreNamedCurve et PolicyStatus ; TPadesSignatureValidation ajoute les verdicts IsDocumentTimeStamp, CoveredRevisionLength, ByteRangeStatus, CmsSignatureStatus, AlgorithmPolicyStatus, SigningCertificateStatus, CertificateTrustStatus, QualifiedTrustStatus, RevocationStatus, TimeStampStatus, TimeStampSignatureStatus, TimeStampTrustStatus et TimeStampRevocationStatus, NativeSignatureError, NativeTrustError, SignerCertificateSha256, CertificateChainSha256 et les preuves imbriquées AlgorithmInfo et QualifiedTrust

TPadesTrustValidationStage parcourt ptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken et ptvsCompleted ; TPadesTrustValidationProgress porte Stage, SignatureIndex, SignatureCount et Percent ; TPadesTrustValidationOptions sélectionne le NetworkPolicy, CheckRevocation, CheckTimeStamps, UrlRetrievalTimeoutMs, QualifiedTrustEvaluator, CancellationToken et OnProgress ; TPadesTrustValidationAsyncStatus vaut ptvasSuccess, ptvasCancelled ou ptvasFailure, et TPadesTrustValidationCompletion renvoie le Status asynchrone, la Validation, l’ErrorMessage, l’ErrorClassName et la CancellationReason

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

TPadesRevisionObjectChange rapporte RevisionIndex, ObjectNumber, Generation, Offset, ObjectStreamNumber, ObjectStreamIndex, Kind, Decision, IsAuthoritative et IsRedefinition ; TPadesSignatureRevisionAnalysis ajoute SignatureIndex, SignatureObjectNumber, CoveredRevisionLength, CoveredRevisionIndex, DocMdpPermission, FieldMdpAction, FieldNames, LaterRevisionCount, Status, Risks et Changes ; TPadesRevisionAnalysisReport agrège SourceStatus, RevisionCount, SignatureCount, Status, Risks, Signatures et ErrorMessage

TPadesEvidenceMaterialKind sélectionne pemkCertificate, pemkOcsp ou pemkCrl ; TPadesValidationMaterialEvidence rapporte Kind, ObjectNumber, StoredLength et Sha256 pour chaque flux stocké ; TPadesVriEvidence est indexé par Key et ObjectNumber et liste CertificateObjectNumbers, OcspObjectNumbers et CrlObjectNumbers

TPadesSignatureEvidence capture SignatureIndex, SignatureObjectNumber, IsDocumentTimeStamp, SubFilter, ByteRangeA, ByteRangeB, ByteRangeC, ByteRangeD, ContentsSha256, VriKey, SignaturePolicyOid, CommitmentTypeOid, HasMatchingVri, VriEvidenceIndex, TimeStampTokenSha256, TimeStampPolicyOid, TimeStampGenTime, TimeStampNonce, NativeFactsAvailable, NativeReason, NativeTime, NativeDocMdpPermission et les Validation et Revision imbriquées

TPadesEvidenceReport agrège SourceLength, PdfiumSignatureCount, DssCertificateCount, DssOcspCount, DssCrlCount, DssVriCount, StoredValidationBytes, IsTruncated, Validation, RevisionAnalysis, Signatures, ValidationMaterials et VriEntries, borné par TPadesEvidenceReportOptions avec TrustOptions, MaxSourceBytes, MaxSignatures, MaxRevisionChangesPerSignature, MaxValidationMaterials, MaxStoredValidationBytes et MaxVriEntries

TPadesDssMaterial stocke une charge utile DerBytes de certificat, OCSP ou CRL ; TPadesDssVri sélectionne le matériel au niveau du document via SignatureContents, CertIndexes, OcspIndexes et CrlIndexes ; TPadesDssOptions accepte Certs, Ocsps, Crls, Vris, EsicExtensionLevel et IncludeVri ; TPadesArchiveTimestampOptions transporte TsaUrl, Nonce, ContentsSize, UpdateDss et le DssOptions imbriqué ; TPadesArchiveTimestampReport rapporte SourceLevel, ResultLevel, PreviousDocTimeStampCount, ResultDocTimeStampCount, SourceLength, ResultLength, DssUpdated, GenTime, PolicyOid et Nonce

TPadesSeedValueConstraint contraint psvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo ou psvcDigestMethod ; TPadesSignatureFieldOptions contraint FieldName, RequiredSeedValues, Reasons, LegalAttestations, AcceptableCertificates, CertificateRequired, LockAction, LockFields et CertificationPermission ; TPadesSignOptions transporte CertificateThumbprint, PaddingScheme, Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize, Level, TsaUrl, Nonce, le groupe SignaturePolicyOid, SignaturePolicyHash, SignaturePolicyUri et SignaturePolicyDocument, et le FieldOptions imbriqué ; TPadesRemoteSignOptions reflète le sous-ensemble adapté à la signature à distance Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize et FieldOptions ; TPadesRemoteSigningRequest lie FormatVersion, PreparedFingerprint, DocumentDigest, ByteRange, ContentsHexOffset et ContentsSize

TPadesTrustValidationOptions.QualifiedValidationTime sélectionne l’heure d’évaluation de l’historique de service de la liste de confiance, zéro sélectionnant l’heure courante

TPadesSignatureValidation transporte aussi RevocationReason: TPdfCmsRevocationReason, NativeRevocationError: Cardinal, TimeStampRevocationReason: TPdfCmsRevocationReason et NativeTimeStampRevocationError: Cardinal. Les diagnostics de signature proviennent de sa vérification CMS détachée ; les diagnostics d’horodatage proviennent de la vérification du token attaché, Document Time-stamps compris, et ne remplacent jamais ceux de la signature

Par défaut, les raisons valent pcrrNone et les erreurs natives zéro quand la révocation est désactivée ou que la vérification CMS correspondante n’est pas atteinte. Ces valeurs par défaut ne valent pas verdict de succès ; inspectez RevocationStatus et TimeStampRevocationStatus. ValidatePadesTrustAsync conserve ces champs dans son résultat de complétion, et TPadesSignatureEvidence.Validation les conserve pour TPadesEvidenceReport.ToJson et ToCsv

Les champs de diagnostic sont ajoutés en fin de l’enregistrement public TPadesSignatureValidation, dont la taille augmente en conséquence. Recompilez contre les unités mises à jour les applications et paquets qui échangent cet enregistrement ou des enregistrements le contenant ; les binaires compilés auparavant ne partagent pas la nouvelle disposition de l’enregistrement

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;

Type publicRôle
TPdfAConformancePartie PDF/A et niveau de conformité détectés ou demandés
TPdfAValidationIssue, TPdfAValidationIssuesConstats de préflight individuels et leur représentation en ensemble
TPdfANameArrayListe de chaînes utilisée par les constats de validation par noms
TPdfAMetadataField, TPdfAMetadataFieldsLes huit correspondances Info-vers-XMP de la Table 1 d’ISO 19005-1 (pamfTitle, pamfAuthor, pamfSubject, pamfKeywords, pamfCreator, pamfProducer, pamfCreationDate, pamfModDate) et leur représentation en ensemble
TPdfAMetadataValuesValeurs Info Unicode Title, Author, Subject, Keywords, Creator, Producer, CreationDate et ModDate avec la présence des clés suivie par Present indépendamment du texte vide
TPdfAMetadataState, TPdfAMetadataComparison, TPdfAMetadataComparisons, TPdfAMetadataReportPreuves d’équivalence typées par champ avec les états pamsNotRequired, pamsEquivalent, pamsXmpMissing, pamsXmpTypeMismatch, pamsValueMismatch, pamsInvalidInfoDate, pamsInvalidXmpDate, par champ Field, State, InfoValue et XmpValue, au niveau du rapport HasXmpPacket, XmpParseError, MismatchFields et le tableau Comparisons, et le statut agrégé
TPdfAValidationResultConformité, l’ensemble Issues et le résultat IsCompliant
TPdfASaveOptionsMétadonnées, identifiants, octets de profil ICC dans IccProfileData, OutputIntent et réglages de conformité avec valeurs Default

InjectPdfAMarkers utilise une recherche de dernière révision partielle et une copie bornée de la source pour les mises en page classiques, xref-stream, hybrides et object-stream valides, tout en conservant l’analyseur de compatibilité pour les données de références croisées non prises en charge ou mal formées

La révision incrémentale préserve les générations racine et Info, le style xref source, les identifiants de trailer, le comportement de refus de chiffrement et la sémantique de rétrogradation de niveau A

FPdfPdfe

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

Type publicRôle
TPdfEConformanceConformité PDF/E détectée ou demandée
TPdfEValidationIssue, TPdfEValidationIssuesConstats structurels et de contenu PDF/E, y compris le /XFA AcroForm de premier niveau et le /NeedAppearances true indirect ; les champs AcroForm ordinaires et les actifs d’ingénierie incorporés restent permis
TPdfEValidationResultConformité, l’ensemble Issues et le résultat IsCompliant
TPdfESaveOptionsVersion PDF/E, métadonnées, identifiants de document et valeurs par défaut

FPdfPdfr

FonctionRôle
InjectPdfRMarkersÉcrit l’identification PDF/R et les structures catalog et Info restreintes
ValidatePdfRComplianceValide un flux avec les limites de document raster par défaut
ValidatePdfRComplianceWithOptionsValide un flux avec les exigences de résolution, de géométrie, de bande et de chiffrement choisies par l’appelant
ValidatePdfRPageFactsValide une géométrie de pages, des comptages d’objets, des caractéristiques d’images et des filtres déjà collectés

Les types publics sont TPdfRConformance, TPdfRValidationIssue, TPdfRValidationIssues, TPdfRValidationResult avec son ensemble Issues et son résultat IsCompliant, TPdfRStringArray, TPdfRValidationOptions, TPdfRPageFacts et TPdfRSaveOptions

TPdfRValidationOptions règle MinimumResolutionDpi, MaximumResolutionDpi, GeometryTolerancePoints, RequireFullPageStrip et RequireEncryptedPdf20Profile ; TPdfRSaveOptions porte StripInfoOptionalEntries et StripCatalogOptionalEntries pour effacer les entrées Info ou catalogue source que §6.4.3 ou la liste blanche §6.3 rejetteraient sinon ; TPdfRPageFacts enregistre PageNumber, MediaWidth, MediaHeight, les bornes ImageLeft, ImageBottom, ImageRight et ImageTop, ImageCount, TextObjectCount, PathObjectCount, FormObjectCount et ShadingObjectCount, la géométrie raster PixelWidth, PixelHeight, HorizontalDpi, VerticalDpi et BitsPerPixel, plus ColorSpace et la chaîne Filters pour chaque page

FPdfPdfua

FonctionRôle
InjectPdfUaMarkersAjoute les marqueurs d’identification PDF/UA, de langue, de titre, MarkInfo, de préférences de visionneuse et XMP
ValidatePdfUaComplianceValide les marqueurs et la structure PDF/UA-1 ou PDF/UA-2, en utilisant facultativement les octets d’origine pour les vérifications XMP
PdfUaIsStandardStructTypeTeste un nom de type de structure par rapport à l’ensemble standard ISO, y compris les titres numérotés
PdfReadRoleMapPairsExtrait les clés et valeurs RoleMap directes ou indirectes dans des tableaux parallèles

Les types publics sont TPdfUaConformance, TPdfUaValidationIssue, TPdfUaValidationIssues, TPdfUaValidationResult avec son ensemble Issues et son résultat IsCompliant, TPdfUaSaveOptions et TPdfUaNameArray

L’unité PDFium expose également TPdfUaLanguageSource, TPdfUaLanguageContentKind, TPdfUaLanguageResolution, TPdfUaLanguageSpan, TPdfUaLanguageSpans, TPdfUaLanguageCoverageOptions et TPdfUaLanguageCoverageReport pour des preuves bornées de langues effectives

TPdfUaUnicodeObjectCoverage, TPdfUaUnicodeObjectCoverages, TPdfUaUnicodeCoverageOptions et TPdfUaUnicodeCoverageReport fournissent des preuves bornées d’extraction Unicode directe et d’ActualText par objet

ValidatePdfUaPageContentTagging recoupe les marques natives d’objets de page avec les MCIDs de structure par page et signale à la fois le contenu réel non étiqueté et le contenu Artifact exposé dans l’arbre de structure

TPdfUaSaveOptions.Default sélectionne les valeurs par défaut PDF/UA-1, tandis que TPdfUaSaveOptions.PdfUa2 sélectionne le profil PDF/UA-2

TPdfUaSaveOptions transporte DocumentTitle, Language, les métadonnées Author, Subject, Keywords, Creator et Producer, CreationDate et ModDate, les UUID DocumentId et InstanceId, les identifiants Part, Revision, Amd et Corr, et les commutateurs EnsureMarkInfo et EnsureDisplayDocTitle pour injecter les entrées de catalogue requises lorsque la source en est dépourvue

FPdfPdfvt

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

Type publicRôle
TPdfVTConformance, TPdfVTTrappedStateConformité PDF/VT et sélection d’état trapped PDF/X hérité parmi ptvUnspecified, ptvTrue et ptvFalse, avec ptvUnspecified normalisé en ptvFalse à l’écriture
TPdfVTValidationIssue, TPdfVTValidationIssues, TPdfVTValidationResultConstats de validation, l’ensemble Issues, la conformité et le résultat IsCompliant
TPdfDpmEntry, TPdfDpmEntries, TDpmTargetEntrées Document Part Metadata avec Name, Value et IsNestedDict, placées à la cible dptRoot ou dptLeaf
TPdfVTDPartEvidenceHiérarchie bornée de parties de document et preuves de condition d’impression avec PageCount, RecordLevel et RecipientRecordCount
TPdfVTSaveOptionsBase PDF/X, octets de profil ICC dans IccProfileData, OutputIntent via OutputCondition, OutputConditionIdentifier, RegistryName et OutputIntentInfo, état Trapped, métadonnées, identifiants, DPart, DPM via DpmEntries placées par DpmTarget et réglages par défaut

FPdfPdfx

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

Type publicRôle
TPdfXConformance, TPdfXTrappedStateVariante PDF/X et sélection d’état trapped du dictionnaire Info parmi ptUnspecified, ptTrue, ptFalse et ptUnknown, avec ptUnspecified omettant l’entrée
TPdfXValidationIssue, TPdfXValidationIssues, TPdfXValidationResultConstats de validation, l’ensemble Issues, la conformité et le résultat IsCompliant
TPdfXSaveOptionsConformité, octets de profil ICC dans IccProfileData, OutputIntent via OutputCondition, OutputConditionIdentifier, RegistryName et OutputIntentInfo, état Trapped, métadonnées, identifiants et valeurs par défaut

Politique des paramètres RSA-PSS

TPadesRsaPssParameters expose Valid, HashAlgorithmOid, MaskGenAlgorithmOid, MaskGenHashAlgorithmOid, SaltLength et TrailerField ; TPadesSignatureAlgorithmInfo.SignaturePss et PublicKeyPss rapportent séparément les contraintes CMS et SPKI

InspectPadesSignatureAlgorithm exige les paramètres PSS CMS, accepte une SEQUENCE vide avec les valeurs RFC par défaut et refuse le DER malformé, champs explicites répétés ou désordonnés, encodages d’entier non pris en charge et blocs trop grands

EvaluatePadesSignatureAlgorithm exige que le condensat CMS corresponde au hash PSS ; une clé réservée à PSS refuse PKCS #1 v1.5 ; les clés restreintes exigent des hash, hash MGF et trailer correspondants, avec un sel de signature au moins égal au minimum de la clé

Un autre hash MGF1 pris en charge peut être valide ; les algorithmes inconnus sont Unsupported, les hash MGF faibles Indeterminate et les hash cassés Invalid

Les blocs sont limités à 16 KiB et les valeurs sel/trailer sont des entiers de 32 bits non négatifs ; cette politique structurelle complète le backend crypto sans prouver la solidité de la clé RSA ni la validité EMSA-PSS

Pour construire manuellement une preuve d’algorithme, renseignez SignaturePss et SignatureParametersPresent plutôt que le seul OID PSS

API associées

Les méthodes TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX et PAdES fournissent des enveloppes d’instance de document autour de ces unités