Queste unit espongono gli iniettori a livello di stream, i validatori, le operazioni di firma e i record di supporto usati dai corrispondenti metodi di comodità di TPdf
Usarle quando un flusso di lavoro possiede già stream sorgente e di destinazione oppure ha bisogno di opzioni di validazione e dettagli dei risultati indipendenti da un'istanza TPdf
FPdfPdfCommon| Funzione | Scopo |
|---|---|
AnsiCountDictKeyTokens | Conta una chiave di nome decodificata al livello superiore di un dizionario PDF grezzo saltando valori annidati, stringhe e commenti |
TPdfParserResourceBudget | Definisce limiti a livello di processo per ricorsione, token, oggetti, byte decodificati, rapporto di espansione, allocazioni e scadenze; Default restituisce i limiti predefiniti della libreria |
ConfigurePdfParserResourceBudget | Valida e sostituisce atomicamente la policy di processo usata dalle successive operazioni personalizzate del parser |
GetPdfParserResourceBudget | Restituisce un'istantanea thread-safe della policy di processo corrente |
ResetPdfParserResourceBudget | Ripristina la policy di processo predefinita |
PdfParserStartTick, PdfParserDeadlineReached | Forniscono checkpoint di scadenza sicuri rispetto al wrap per implementazioni personalizzate del parser |
FPdfAssocFilesprocedure InjectAssociateFiles(Source: TStream; Dest: TStream; const Options: TAssocFilesOptions);
| Tipo pubblico | Scopo |
|---|---|
TPdfAFRelationship | Valori AFRelationship di ISO 32000-2 afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData e afTemplate, incluse le aggiunte di PDF 2.0 |
TAssociateFile | Un file associato con FileName, Description, Content del payload, Relationship e MIMEType facoltativo |
TAssocFilesOptions | Elenco Files dei file associati e destinazione catalogo o pagina TargetPage, con valori predefiniti da TAssocFilesOptions.Default |
EPdfAssocFilesError | Sollevato da InjectAssociateFiles quando la sorgente non ha un trailer o un catalogo leggibile, oppure quando TargetPage è negativa o non indica una pagina nell'ordine dell'albero delle pagine; lo stream di destinazione resta invariato |
FPdfPades| Funzione | Scopo |
|---|---|
InjectPadesDssMarkers | Aggiunge materiale certificati, OCSP, CRL e VRI del DSS attraverso un aggiornamento incrementale |
RenewPadesArchiveTimestamp | Accoda un timestamp di documento e riporta il livello di archivio risultante e i metadati del timestamp |
ValidatePadesCompliance, ValidatePadesTrust | Validano la cardinalità delle voci di firma di primo livello, l'esclusione esatta di ByteRange e token Contents, l'integrità crittografica, l'attendibilità, la revoca e le evidenze dei timestamp |
AnalyzePadesSignatureRevisions | Classifica le revisioni successive, le modifiche agli oggetti, gli effetti FieldMDP e i rischi di modifica |
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytes | Costruiscono evidenze limitate multi-firma da uno stream o da un'acquisizione immutabile esistente dei byte sorgente |
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithm | Esaminano i parametri degli algoritmi CMS e dei certificati e valutano il loro stato di sicurezza supportato, applicando il profilo a curva ellittica di PDF 2.0 e le signature suite RSA di ETSI TS 119 312 |
VerifyCmsAlgorithmProtection | Controlla l'attributo firmato di protezione algoritmo CMS rispetto agli algoritmi di digest e firma del firmatario |
SignPadesBytes | Accoda una firma PAdES locale con timestamp RFC 3161 facoltativo |
PreparePadesRemoteSignature, CompletePadesRemoteSignature | Preparano e completano un flusso di firma remota con segnaposto a larghezza fissa vincolato |
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequest | Persistono o ripristinano i metadati della richiesta necessari per completare la firma remota |
| Area | Tipi |
|---|---|
| Livelli e validazione | TPadesLevel (plUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA), TPadesValidationIssue, TPadesValidationIssues, TPadesValidationSourceStatus (pvssUnavailable, pvssOriginalBytes, pvssIncomplete), TPadesValidationResult |
| Crittografia | TPadesCryptoStatus (pcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate), TPadesSignatureAlgorithmFamily (psafUnknown, psafRsa, psafEcdsa, psafEd25519, psafEd448), TPadesSignatureAlgorithmInfo, TPadesSignatureValidation, TPadesSignatureValidations |
| Validazione dell'attendibilità | TPadesTrustNetworkPolicy (ptnpOffline, ptnpOnline), TPadesTrustValidationStage, TPadesTrustValidationProgress, TPadesTrustValidationProgressEvent, TPadesTrustValidationOptions, TPadesTrustValidationAsyncStatus, TPadesTrustValidationCompletion, TPadesTrustValidationReply |
| Analisi delle revisioni | 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 |
| Report di evidenza | TPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport |
| DSS e timestamp di archivio | TPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport |
| Firma | TPadesSeedValueConstraint, TPadesSeedValueConstraints, TPadesSignatureFieldOptions, TPadesSignOptions, TPadesRemoteSignOptions, TPadesRemoteByteRange, TPadesRemoteSigningRequest |
TPadesValidationResult fornisce il Level di archivio, l'insieme Issues, SourceStatus, IntegrityStatus e l'array Signatures per firma, con IsCompliant, IsCompliantAt, IsCryptographicallyValid e DocTimeStampCount che conta i dizionario Document Time-stamp; i record di opzioni forniscono un inizializzatore statico Default
TPadesSignatureAlgorithmInfo riporta Family, DigestAlgorithmOid, SignatureAlgorithmOid, PublicKeyAlgorithmOid, CurveOid, DigestParametersPresent, DigestParameterBits, SignatureParametersPresent, PublicKeyParametersPresent, PublicKeyParametersAreNamedCurve e PolicyStatus; TPadesSignatureValidation aggiunge IsDocumentTimeStamp, CoveredRevisionLength, lo ByteRangeStatus, CmsSignatureStatus, AlgorithmPolicyStatus, SigningCertificateStatus, CertificateTrustStatus, QualifiedTrustStatus, RevocationStatus, TimeStampStatus, TimeStampSignatureStatus, TimeStampTrustStatus e TimeStampRevocationStatus, NativeSignatureError, NativeTrustError, SignerCertificateSha256, CertificateChainSha256 e le evidenze annidate AlgorithmInfo e QualifiedTrust
TPadesTrustValidationStage attraversa ptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken e ptvsCompleted; TPadesTrustValidationProgress trasporta Stage, SignatureIndex, SignatureCount e Percent; TPadesTrustValidationOptions seleziona NetworkPolicy, CheckRevocation, CheckTimeStamps, UrlRetrievalTimeoutMs, QualifiedTrustEvaluator, CancellationToken e OnProgress; TPadesTrustValidationAsyncStatus è ptvasSuccess, ptvasCancelled o ptvasFailure, e TPadesTrustValidationCompletion restituisce lo Status asincrono, Validation, ErrorMessage, ErrorClassName e CancellationReason
TPadesRevisionChangeKind classifica prckCrossReference, prckSignature, prckValidationMaterial, prckFormField, prckAnnotation, prckPageContent, prckDocumentStructure, prckMetadata, prckActiveContent, prckDeletedObject, prckCompressedObject e prckUnknown; TPadesRevisionRisk copre prrMalformedRevisionChain, prrDuplicateObjectDefinition, prrUnreferencedObjectDefinition, prrSignatureObjectRedefined, prrPageContentChanged, prrDocumentStructureChanged, prrActiveContentAdded, prrFieldMdpUnresolved, prrCompressedObjectUnresolved, prrCoveredRevisionNotFound e prrResourceLimitExceeded
TPadesRevisionObjectChange riporta RevisionIndex, ObjectNumber, Generation, Offset, ObjectStreamNumber, ObjectStreamIndex, Kind, Decision, IsAuthoritative e IsRedefinition; TPadesSignatureRevisionAnalysis aggiunge SignatureIndex, SignatureObjectNumber, CoveredRevisionLength, CoveredRevisionIndex, DocMdpPermission, FieldMdpAction, FieldNames, LaterRevisionCount, Status, Risks e Changes; TPadesRevisionAnalysisReport aggrega SourceStatus, RevisionCount, SignatureCount, Status, Risks, Signatures e ErrorMessage
TPadesEvidenceMaterialKind seleziona pemkCertificate, pemkOcsp o pemkCrl; TPadesValidationMaterialEvidence riporta Kind, ObjectNumber, StoredLength e Sha256 per ogni stream memorizzato; TPadesVriEvidence è indicizzato per Key e ObjectNumber ed elenca CertificateObjectNumbers, OcspObjectNumbers e CrlObjectNumbers
TPadesSignatureEvidence cattura SignatureIndex, SignatureObjectNumber, IsDocumentTimeStamp, SubFilter, ByteRangeA, ByteRangeB, ByteRangeC, ByteRangeD, ContentsSha256, VriKey, SignaturePolicyOid, CommitmentTypeOid, HasMatchingVri, VriEvidenceIndex, TimeStampTokenSha256, TimeStampPolicyOid, TimeStampGenTime, TimeStampNonce, NativeFactsAvailable, NativeReason, NativeTime, NativeDocMdpPermission e gli annidati Validation e Revision
TPadesEvidenceReport aggrega SourceLength, PdfiumSignatureCount, DssCertificateCount, DssOcspCount, DssCrlCount, DssVriCount, StoredValidationBytes, IsTruncated, Validation, RevisionAnalysis, Signatures, ValidationMaterials e VriEntries, con limiti dati da TPadesEvidenceReportOptions con TrustOptions, MaxSourceBytes, MaxSignatures, MaxRevisionChangesPerSignature, MaxValidationMaterials, MaxStoredValidationBytes e MaxVriEntries
TPadesDssMaterial memorizza un payload DerBytes di certificato, OCSP o CRL; TPadesDssVri seleziona materiale a livello di documento tramite SignatureContents, CertIndexes, OcspIndexes e CrlIndexes; TPadesDssOptions accetta Certs, Ocsps, Crls, Vris, EsicExtensionLevel e IncludeVri; TPadesArchiveTimestampOptions trasporta TsaUrl, Nonce, ContentsSize, UpdateDss e gli annidati DssOptions; TPadesArchiveTimestampReport riporta SourceLevel, ResultLevel, PreviousDocTimeStampCount, ResultDocTimeStampCount, SourceLength, ResultLength, DssUpdated, GenTime, PolicyOid e Nonce
TPadesSeedValueConstraint vincola psvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo o psvcDigestMethod; TPadesSignatureFieldOptions vincola FieldName, RequiredSeedValues, Reasons, LegalAttestations, AcceptableCertificates, CertificateRequired, LockAction, LockFields e CertificationPermission; TPadesSignOptions trasporta CertificateThumbprint, PaddingScheme, Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize, Level, TsaUrl, Nonce, il gruppo SignaturePolicyOid, SignaturePolicyHash, SignaturePolicyUri e SignaturePolicyDocument, e gli annidati FieldOptions; TPadesRemoteSignOptions rispecchia il sottoinsieme sicuro per la firma remota Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize e FieldOptions; TPadesRemoteSigningRequest lega FormatVersion, PreparedFingerprint, DocumentDigest, ByteRange, ContentsHexOffset e ContentsSize
TPadesTrustValidationOptions.QualifiedValidationTime seleziona l'orario di valutazione della cronologia di servizio della trusted list, con zero che seleziona l'orario corrente
TPadesSignatureValidation porta anche RevocationReason: TPdfCmsRevocationReason, NativeRevocationError: Cardinal, TimeStampRevocationReason: TPdfCmsRevocationReason e NativeTimeStampRevocationError: Cardinal. La diagnostica della firma viene dal suo controllo CMS detached; quella del timestamp dal controllo del token attached, Document Time-stamp inclusi, e non sostituisce mai la diagnostica della firma
I motivi tornano a pcrrNone e gli errori nativi a zero quando la revoca è disattivata o il corrispondente controllo CMS non viene raggiunto. Questi default non stabiliscono alcun successo; guardare RevocationStatus e TimeStampRevocationStatus. ValidatePadesTrustAsync preserva questi campi nel proprio risultato di completamento, e TPadesSignatureEvidence.Validation li mantiene per TPadesEvidenceReport.ToJson e ToCsv
I campi diagnostici sono aggiunti in coda al record pubblico TPadesSignatureValidation, aumentandone la dimensione. Ricompilare le applicazioni e i pacchetti che scambiano questo record o record che lo contengono con le unit aggiornate; i binari compilati in precedenza non condividono il nuovo layout del record
FPdfPdfaprocedure 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;
| Tipo pubblico | Scopo |
|---|---|
TPdfAConformance | Parte PDF/A e livello di conformità rilevati o richiesti |
TPdfAValidationIssue, TPdfAValidationIssues | Riscontri di preflight individuali e la loro rappresentazione come insieme |
TPdfANameArray | Elenco di stringhe usato dai riscontri di validazione basati su nomi |
TPdfAMetadataField, TPdfAMetadataFields | Le otto mappature Info-XMP di ISO 19005-1 Table 1 (pamfTitle, pamfAuthor, pamfSubject, pamfKeywords, pamfCreator, pamfProducer, pamfCreationDate, pamfModDate) e la loro rappresentazione come insieme |
TPdfAMetadataValues | Valori Info Unicode Title, Author, Subject, Keywords, Creator, Producer, CreationDate e ModDate, con la presenza della chiave tracciata da Present indipendentemente dal testo vuoto |
TPdfAMetadataState, TPdfAMetadataComparison, TPdfAMetadataComparisons, TPdfAMetadataReport | Evidenze tipizzate di equivalenza per campo con stati pamsNotRequired, pamsEquivalent, pamsXmpMissing, pamsXmpTypeMismatch, pamsValueMismatch, pamsInvalidInfoDate, pamsInvalidXmpDate, per campo Field, State, InfoValue e XmpValue, a livello di report HasXmpPacket, XmpParseError, MismatchFields e l'array Comparisons, e stato aggregato |
TPdfAValidationResult | Conformità, insieme Issues e risultato IsCompliant |
TPdfASaveOptions | Impostazioni di metadati, identificatori, byte del profilo ICC in IccProfileData, output intent e conformità con valori Default |
InjectPdfAMarkers usa la ricerca sparsa dell'ultima revisione e la copia limitata della sorgente per layout classici, xref-stream, ibridi e object-stream validi, conservando il parser di compatibilità per dati di riferimenti incrociati non supportati o malformati
La revisione incrementale preserva le generazioni di radice e Info, lo stile xref della sorgente, gli identificatori del trailer, il comportamento di rifiuto della crittografia e la semantica di declassamento del Level A
FPdfPdfeprocedure InjectPdfEMarkers(Source: TStream; Dest: TStream; const Options: TPdfESaveOptions);
function ValidatePdfECompliance(Source: TStream): TPdfEValidationResult;
| Tipo pubblico | Scopo |
|---|---|
TPdfEConformance | Conformità PDF/E rilevata o richiesta |
TPdfEValidationIssue, TPdfEValidationIssues | Riscontri strutturali e di contenuto PDF/E, inclusi AcroForm /XFA di primo livello e /NeedAppearances true indiretto; i campi AcroForm ordinari e le risorse ingegneristiche incorporate restano consentiti |
TPdfEValidationResult | Conformità, insieme Issues e risultato IsCompliant |
TPdfESaveOptions | Version PDF/E, metadati, identificatori del documento e valori predefiniti |
FPdfPdfr| Funzione | Scopo |
|---|---|
InjectPdfRMarkers | Scrive l'identificazione PDF/R e le strutture limitate di catalogo e Info |
ValidatePdfRCompliance | Valida uno stream con i limiti predefiniti per documenti raster |
ValidatePdfRComplianceWithOptions | Valida uno stream con requisiti di risoluzione, geometria, strip e crittografia selezionati dal chiamante |
ValidatePdfRPageFacts | Valida geometria di pagina, conteggi di oggetti, caratteristiche delle immagini e filtri già raccolti |
I tipi pubblici sono TPdfRConformance, TPdfRValidationIssue, TPdfRValidationIssues, TPdfRValidationResult con il suo insieme Issues e risultato IsCompliant, TPdfRStringArray, TPdfRValidationOptions, TPdfRPageFacts e TPdfRSaveOptions
TPdfRValidationOptions regola MinimumResolutionDpi, MaximumResolutionDpi, GeometryTolerancePoints, RequireFullPageStrip e RequireEncryptedPdf20Profile; TPdfRSaveOptions porta StripInfoOptionalEntries e StripCatalogOptionalEntries per rimuovere voci Info o catalogo della sorgente che §6.4.3 o la white list di §6.3 rifiuterebbero altrimenti; TPdfRPageFacts registra PageNumber, MediaWidth, MediaHeight, i limiti ImageLeft, ImageBottom, ImageRight e ImageTop, ImageCount, TextObjectCount, PathObjectCount, FormObjectCount e ShadingObjectCount, la geometria raster PixelWidth, PixelHeight, HorizontalDpi, VerticalDpi e BitsPerPixel, più ColorSpace e la catena Filters per ogni pagina
FPdfPdfua| Funzione | Scopo |
|---|---|
InjectPdfUaMarkers | Aggiunge i marcatori di identificazione PDF/UA, lingua, titolo, MarkInfo, preferenze del visualizzatore e XMP |
ValidatePdfUaCompliance | Valida marcatori e struttura PDF/UA-1 o PDF/UA-2, usando facoltativamente i byte originali per i controlli XMP |
PdfUaIsStandardStructType | Verifica un nome di tipo di struttura rispetto all'insieme standard ISO, incluse le intestazioni numerate |
PdfReadRoleMapPairs | Estrae chiavi e valori RoleMap diretti o indiretti in array paralleli |
I tipi pubblici sono TPdfUaConformance, TPdfUaValidationIssue, TPdfUaValidationIssues, TPdfUaValidationResult con il suo insieme Issues e risultato IsCompliant, TPdfUaSaveOptions e TPdfUaNameArray
L'unit PDFium espone anche TPdfUaLanguageSource, TPdfUaLanguageContentKind, TPdfUaLanguageResolution, TPdfUaLanguageSpan, TPdfUaLanguageSpans, TPdfUaLanguageCoverageOptions e TPdfUaLanguageCoverageReport per evidenze limitate della lingua effettiva
TPdfUaUnicodeObjectCoverage, TPdfUaUnicodeObjectCoverages, TPdfUaUnicodeCoverageOptions e TPdfUaUnicodeCoverageReport forniscono evidenze limitate di estrazione Unicode diretta e ActualText con ambito di oggetto
ValidatePdfUaPageContentTagging incrocia i marcatori nativi degli oggetti di pagina con gli MCID di struttura con ambito di pagina e riporta sia il contenuto reale non taggato sia il contenuto Artifact esposto nell'albero di struttura
TPdfUaSaveOptions.Default seleziona i valori predefiniti di PDF/UA-1, mentre TPdfUaSaveOptions.PdfUa2 seleziona il profilo PDF/UA-2
TPdfUaSaveOptions trasporta DocumentTitle, Language, i metadati Author, Subject, Keywords, Creator e Producer, CreationDate e ModDate, gli UUID DocumentId e InstanceId, gli identificatori Part, Revision, Amd e Corr e gli interruttori EnsureMarkInfo e EnsureDisplayDocTitle per iniettare le voci di catalogo richieste quando la sorgente ne è priva
FPdfPdfvtprocedure InjectPdfVTMarkers(Source: TStream; Dest: TStream; const Options: TPdfVTSaveOptions);
function ValidatePdfVTCompliance(Source: TStream): TPdfVTValidationResult;
function ReadPdfVTDPartEvidence(Source: TStream): TPdfVTDPartEvidence;
| Tipo pubblico | Scopo |
|---|---|
TPdfVTConformance, TPdfVTTrappedState | Conformità PDF/VT e selezione dello stato trapped ereditato da PDF/X tra ptvUnspecified, ptvTrue e ptvFalse, con ptvUnspecified normalizzato in ptvFalse in scrittura |
TPdfVTValidationIssue, TPdfVTValidationIssues, TPdfVTValidationResult | Riscontri di validazione, insieme Issues, conformità e risultato IsCompliant |
TPdfDpmEntry, TPdfDpmEntries, TDpmTarget | Voci di Document Part Metadata con Name, Value e IsNestedDict, collocate nella destinazione dptRoot o dptLeaf |
TPdfVTDPartEvidence | Gerarchia limitata delle parti del documento ed evidenze della condizione di stampa con PageCount, RecordLevel e RecipientRecordCount |
TPdfVTSaveOptions | Base PDF/X, byte del profilo ICC in IccProfileData, output intent tramite OutputCondition, OutputConditionIdentifier, RegistryName e OutputIntentInfo, stato Trapped, metadati, identificatori, DPart, DPM tramite DpmEntries collocate da DpmTarget e impostazioni predefinite |
FPdfPdfxprocedure InjectPdfXMarkers(Source: TStream; Dest: TStream; const Options: TPdfXSaveOptions);
function ValidatePdfXCompliance(Source: TStream): TPdfXValidationResult;
| Tipo pubblico | Scopo |
|---|---|
TPdfXConformance, TPdfXTrappedState | Variante PDF/X e selezione dello stato trapped del dizionario Info tra ptUnspecified, ptTrue, ptFalse e ptUnknown, con ptUnspecified che omette la voce |
TPdfXValidationIssue, TPdfXValidationIssues, TPdfXValidationResult | Riscontri di validazione, insieme Issues, conformità e risultato IsCompliant |
TPdfXSaveOptions | Conformità, byte del profilo ICC in IccProfileData, output intent tramite OutputCondition, OutputConditionIdentifier, RegistryName e OutputIntentInfo, stato Trapped, metadati, identificatori e valori predefiniti |
TPadesRsaPssParameters espone Valid, HashAlgorithmOid, MaskGenAlgorithmOid, MaskGenHashAlgorithmOid, SaltLength e TrailerField; TPadesSignatureAlgorithmInfo.SignaturePss e PublicKeyPss segnalano separatamente restrizioni CMS e SPKI
InspectPadesSignatureAlgorithm richiede parametri CMS PSS, accetta SEQUENCE vuota con valori predefiniti RFC e rifiuta DER malformato, campi espliciti duplicati o fuori ordine, interi con codifiche non supportate e blocchi di parametri sovradimensionati
EvaluatePadesSignatureAlgorithm richiede che il digest CMS coincida con l'hash PSS; una chiave solo PSS rifiuta PKCS #1 v1.5 e le chiavi limitate richiedono hash, hash MGF e trailer corrispondenti, con salt di firma almeno pari al minimo della chiave
Un altro hash MGF1 supportato può essere valido; algoritmi sconosciuti sono Unsupported, hash MGF deboli Indeterminate e hash compromessi Invalid
I blocchi di parametri sono limitati a 16 KiB e i valori salt/trailer sono interi non negativi a 32 bit; questa politica strutturale integra il backend crittografico senza dimostrare robustezza della chiave RSA o validità della firma EMSA-PSS
Quando si costruiscono prove dell'algoritmo manualmente, compilare SignaturePss e SignatureParametersPresent anziché fornire solo l'OID PSS
I metodi TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX e i metodi PAdES forniscono wrapper sull'istanza del documento per queste unit