PDFium Delphi Component Docs

Unidades auxiliares de estándares PDF

Estas unidades exponen los inyectores a nivel de flujo, validadores, operaciones de firma y registros de soporte usados por los correspondientes métodos de conveniencia de TPdf

Úselas cuando un flujo de trabajo ya posee flujos de origen y destino o necesita opciones de validación y detalles de resultados independientes de una instancia TPdf

FPdfPdfCommon

FunciónPropósito
AnsiCountDictKeyTokensCuenta una clave de nombre decodificada en el nivel superior de un diccionario PDF en bruto mientras omite valores anidados, cadenas y comentarios
TPdfParserResourceBudgetDefine límites de recursión, tokens, objetos, bytes decodificados, ratio de expansión, asignación y plazo de todo el proceso; Default devuelve los valores predeterminados de la biblioteca
ConfigurePdfParserResourceBudgetValida y reemplaza atómicamente la política de proceso usada por las operaciones posteriores de analizadores personalizados
GetPdfParserResourceBudgetDevuelve una instantánea segura para subprocesos de la política de proceso actual
ResetPdfParserResourceBudgetRestaura la política de proceso predeterminada
PdfParserStartTick, PdfParserDeadlineReachedProporcionan puntos de control de plazo seguros frente al desbordamiento del contador para implementaciones de analizadores personalizadas

FPdfAssocFiles

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

Tipo públicoPropósito
TPdfAFRelationshipValores AFRelationship de ISO 32000-2: afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData y afTemplate, incluidas las incorporaciones de PDF 2.0
TAssociateFileUn archivo asociado con FileName, Description, el Content de la carga, Relationship y el MIMEType opcional
TAssocFilesOptionsLista de archivos asociados en Files y destino de catálogo o página en TargetPage, con valores predeterminados de TAssocFilesOptions.Default
EPdfAssocFilesErrorLa lanza InjectAssociateFiles cuando el origen no tiene un trailer o catálogo legibles, o cuando TargetPage es negativo o no nombra una página en el orden del árbol de páginas; el flujo de destino queda sin modificar

FPdfPades

FunciónPropósito
InjectPadesDssMarkersAñade material de certificados DSS, OCSP, CRL y VRI mediante una actualización incremental
RenewPadesArchiveTimestampAnexa una marca de tiempo de documento e informa del nivel de archivo resultante y de los metadatos de la marca de tiempo
ValidatePadesCompliance, ValidatePadesTrustValidan la cardinalidad de las entradas de firma de nivel superior, la exclusión exacta de tokens ByteRange y Contents, la integridad criptográfica, la confianza, la revocación y la evidencia de marcas de tiempo
AnalyzePadesSignatureRevisionsClasifica las revisiones posteriores, los cambios de objetos, los efectos de FieldMDP y los riesgos de modificación
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytesConstruyen evidencia acotada de múltiples firmas desde un flujo o una captura inmutable existente de bytes de origen
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithmInspeccionan los parámetros de algoritmos de CMS y de certificados y evalúan su estado de seguridad admitido, aplicando el perfil de curva elíptica de PDF 2.0 y las suites de firmas RSA de ETSI TS 119 312
VerifyCmsAlgorithmProtectionComprueba el atributo firmado de protección de algoritmos CMS contra los algoritmos de resumen y de firma del firmante
SignPadesBytesAnexa una firma PAdES local con sellado de tiempo RFC 3161 opcional
PreparePadesRemoteSignature, CompletePadesRemoteSignaturePreparan y completan un flujo de trabajo de marcador de posición de firma remota enlazado de ancho fijo
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequestPersisten o restauran los metadatos de la solicitud necesarios para completar la firma remota

Tipos públicos de PAdES

ÁreaTipos
Niveles y validaciónTPadesLevel (plUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA), TPadesValidationIssue, TPadesValidationIssues, TPadesValidationSourceStatus (pvssUnavailable, pvssOriginalBytes, pvssIncomplete), TPadesValidationResult
CriptografíaTPadesCryptoStatus (pcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate), TPadesSignatureAlgorithmFamily (psafUnknown, psafRsa, psafEcdsa, psafEd25519, psafEd448), TPadesSignatureAlgorithmInfo, TPadesSignatureValidation, TPadesSignatureValidations
Validación de confianzaTPadesTrustNetworkPolicy (ptnpOffline, ptnpOnline), TPadesTrustValidationStage, TPadesTrustValidationProgress, TPadesTrustValidationProgressEvent, TPadesTrustValidationOptions, TPadesTrustValidationAsyncStatus, TPadesTrustValidationCompletion, TPadesTrustValidationReply
Análisis de revisionesTPadesRevisionAnalysisStatus (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
Informes de evidenciaTPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport
DSS y marcas de tiempo de archivoTPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport
FirmaTPadesSeedValueConstraint, TPadesSeedValueConstraints, TPadesSignatureFieldOptions, TPadesSignOptions, TPadesRemoteSignOptions, TPadesRemoteByteRange, TPadesRemoteSigningRequest

TPadesValidationResult aporta el Level de archivo, el conjunto Issues, SourceStatus, IntegrityStatus y la matriz Signatures por firma, con IsCompliant, IsCompliantAt, IsCryptographicallyValid y DocTimeStampCount que cuenta los diccionarios Document Time-stamp; los registros de opciones aportan un inicializador estático Default

TPadesSignatureAlgorithmInfo informa de Family, DigestAlgorithmOid, SignatureAlgorithmOid, PublicKeyAlgorithmOid, CurveOid, DigestParametersPresent, DigestParameterBits, SignatureParametersPresent, PublicKeyParametersPresent, PublicKeyParametersAreNamedCurve y PolicyStatus; TPadesSignatureValidation añade los veredictos IsDocumentTimeStamp, CoveredRevisionLength, el ByteRangeStatus, CmsSignatureStatus, AlgorithmPolicyStatus, SigningCertificateStatus, CertificateTrustStatus, QualifiedTrustStatus, RevocationStatus, TimeStampStatus, TimeStampSignatureStatus, TimeStampTrustStatus y TimeStampRevocationStatus, más NativeSignatureError, NativeTrustError, SignerCertificateSha256, CertificateChainSha256 y la evidencia anidada de AlgorithmInfo y QualifiedTrust

TPadesTrustValidationStage recorre ptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken y ptvsCompleted; TPadesTrustValidationProgress lleva Stage, SignatureIndex, SignatureCount y Percent; TPadesTrustValidationOptions selecciona NetworkPolicy, CheckRevocation, CheckTimeStamps, UrlRetrievalTimeoutMs, QualifiedTrustEvaluator, CancellationToken y OnProgress; TPadesTrustValidationAsyncStatus es ptvasSuccess, ptvasCancelled o ptvasFailure, y TPadesTrustValidationCompletion devuelve el Status asíncrono, la Validation, ErrorMessage, ErrorClassName y CancellationReason

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

TPadesRevisionObjectChange informa de RevisionIndex, ObjectNumber, Generation, Offset, ObjectStreamNumber, ObjectStreamIndex, Kind, Decision, IsAuthoritative y IsRedefinition; TPadesSignatureRevisionAnalysis añade SignatureIndex, SignatureObjectNumber, CoveredRevisionLength, CoveredRevisionIndex, DocMdpPermission, FieldMdpAction, FieldNames, LaterRevisionCount, Status, Risks y Changes; TPadesRevisionAnalysisReport agrega SourceStatus, RevisionCount, SignatureCount, Status, Risks, Signatures y ErrorMessage

TPadesEvidenceMaterialKind selecciona pemkCertificate, pemkOcsp o pemkCrl; TPadesValidationMaterialEvidence informa de Kind, ObjectNumber, StoredLength y Sha256 de cada flujo almacenado; TPadesVriEvidence se indexa por Key y ObjectNumber y lista CertificateObjectNumbers, OcspObjectNumbers y CrlObjectNumbers

TPadesSignatureEvidence captura SignatureIndex, SignatureObjectNumber, IsDocumentTimeStamp, SubFilter, ByteRangeA, ByteRangeB, ByteRangeC, ByteRangeD, ContentsSha256, VriKey, SignaturePolicyOid, CommitmentTypeOid, HasMatchingVri, VriEvidenceIndex, TimeStampTokenSha256, TimeStampPolicyOid, TimeStampGenTime, TimeStampNonce, NativeFactsAvailable, NativeReason, NativeTime, NativeDocMdpPermission y la Validation y Revision anidadas

TPadesEvidenceReport agrega SourceLength, PdfiumSignatureCount, DssCertificateCount, DssOcspCount, DssCrlCount, DssVriCount, StoredValidationBytes, IsTruncated, Validation, RevisionAnalysis, Signatures, ValidationMaterials y VriEntries, acotado por TPadesEvidenceReportOptions con TrustOptions, MaxSourceBytes, MaxSignatures, MaxRevisionChangesPerSignature, MaxValidationMaterials, MaxStoredValidationBytes y MaxVriEntries

TPadesDssMaterial almacena una carga de certificado, OCSP o CRL en DerBytes; TPadesDssVri selecciona material a nivel de documento a través de SignatureContents, CertIndexes, OcspIndexes y CrlIndexes; TPadesDssOptions acepta Certs, Ocsps, Crls, Vris, EsicExtensionLevel y IncludeVri; TPadesArchiveTimestampOptions lleva TsaUrl, Nonce, ContentsSize, UpdateDss y las DssOptions anidadas; TPadesArchiveTimestampReport informa de SourceLevel, ResultLevel, PreviousDocTimeStampCount, ResultDocTimeStampCount, SourceLength, ResultLength, DssUpdated, GenTime, PolicyOid y Nonce

TPadesSeedValueConstraint restringe psvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo o psvcDigestMethod; TPadesSignatureFieldOptions restringe FieldName, RequiredSeedValues, Reasons, LegalAttestations, AcceptableCertificates, CertificateRequired, LockAction, LockFields y CertificationPermission; TPadesSignOptions lleva CertificateThumbprint, PaddingScheme, Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize, Level, TsaUrl, Nonce, el grupo SignaturePolicyOid, SignaturePolicyHash, SignaturePolicyUri y SignaturePolicyDocument, y las FieldOptions anidadas; TPadesRemoteSignOptions refleja el subconjunto seguro para remoto Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize y FieldOptions; TPadesRemoteSigningRequest enlaza FormatVersion, PreparedFingerprint, DocumentDigest, ByteRange, ContentsHexOffset y ContentsSize

TPadesTrustValidationOptions.QualifiedValidationTime selecciona el momento de evaluación del historial de servicio de la lista de confianza; cero selecciona el momento actual

TPadesSignatureValidation también porta RevocationReason: TPdfCmsRevocationReason, NativeRevocationError: Cardinal, TimeStampRevocationReason: TPdfCmsRevocationReason y NativeTimeStampRevocationError: Cardinal. Los diagnósticos de la firma vienen de su comprobación CMS detached; los del timestamp vienen de la comprobación del token attached, incluidos los Document Time-stamps, y nunca sustituyen a los diagnósticos de la firma

Los reasons quedan en pcrrNone y los errores nativos en cero cuando la revocación está desactivada o no se llega a la comprobación CMS correspondiente. Esos valores por defecto no establecen éxito; examine RevocationStatus y TimeStampRevocationStatus. ValidatePadesTrustAsync conserva estos campos en su resultado de finalización, y TPadesSignatureEvidence.Validation los mantiene para TPadesEvidenceReport.ToJson y ToCsv

Los campos de diagnóstico se añaden al final del registro público TPadesSignatureValidation, lo que aumenta su tamaño. Recompile las aplicaciones y paquetes que intercambien este registro o registros que lo contengan contra las unidades actualizadas; los binarios compilados antes no comparten la nueva disposición del registro

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;

Tipo públicoPropósito
TPdfAConformanceParte y nivel de conformidad de PDF/A detectados o solicitados
TPdfAValidationIssue, TPdfAValidationIssuesHallazgos individuales de preflight y su representación en conjunto
TPdfANameArrayLista de cadenas usada por los hallazgos de validación basados en nombres
TPdfAMetadataField, TPdfAMetadataFieldsLas ocho asignaciones de Info a XMP de la Tabla 1 de ISO 19005-1 (pamfTitle, pamfAuthor, pamfSubject, pamfKeywords, pamfCreator, pamfProducer, pamfCreationDate, pamfModDate) y su representación en conjunto
TPdfAMetadataValuesValores Unicode de Info Title, Author, Subject, Keywords, Creator, Producer, CreationDate y ModDate, con la presencia de la clave rastreada por Present de forma independiente del texto vacío
TPdfAMetadataState, TPdfAMetadataComparison, TPdfAMetadataComparisons, TPdfAMetadataReportEvidencia tipada de equivalencia por campo con estados pamsNotRequired, pamsEquivalent, pamsXmpMissing, pamsXmpTypeMismatch, pamsValueMismatch, pamsInvalidInfoDate, pamsInvalidXmpDate, el Field, State, InfoValue y XmpValue por campo, el HasXmpPacket, XmpParseError, MismatchFields y la matriz Comparisons a nivel de informe, y el estado agregado
TPdfAValidationResultConformidad, el conjunto Issues y el resultado IsCompliant
TPdfASaveOptionsMetadatos, identificadores, bytes del perfil ICC en IccProfileData, output intent y ajustes de conformidad con valores Default

InjectPdfAMarkers usa búsqueda dispersa de la última revisión y copia acotada del origen para disposiciones clásicas, de flujo xref, híbridas y de flujos de objetos válidas, mientras retiene el analizador de compatibilidad para datos de referencias cruzadas no admitidos o malformados

La revisión incremental preserva las generaciones de raíz e Info, el estilo xref del origen, los identificadores del trailer, el comportamiento de rechazo del cifrado y la semántica de degradación de Level A

FPdfPdfe

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

Tipo públicoPropósito
TPdfEConformanceConformidad de PDF/E detectada o solicitada
TPdfEValidationIssue, TPdfEValidationIssuesHallazgos estructurales y de contenido de PDF/E, incluidos el /XFA de AcroForm de nivel superior y el /NeedAppearances true indirecto; los campos AcroForm ordinarios y los activos de ingeniería incrustados siguen permitidos
TPdfEValidationResultConformidad, el conjunto Issues y el resultado IsCompliant
TPdfESaveOptionsVersion de PDF/E, metadatos, identificadores de documento y valores predeterminados

FPdfPdfr

FunciónPropósito
InjectPdfRMarkersEscribe la identificación de PDF/R y estructuras restringidas de catálogo e Info
ValidatePdfRComplianceValida un flujo con los límites predeterminados de documentos rasterizados
ValidatePdfRComplianceWithOptionsValida un flujo con requisitos de resolución, geometría, tira y cifrado seleccionados por quien llama
ValidatePdfRPageFactsValida la geometría de páginas ya recopilada, los recuentos de objetos, las características de imágenes y los filtros

Los tipos públicos son TPdfRConformance, TPdfRValidationIssue, TPdfRValidationIssues, TPdfRValidationResult con su conjunto Issues y resultado IsCompliant, TPdfRStringArray, TPdfRValidationOptions, TPdfRPageFacts y TPdfRSaveOptions

TPdfRValidationOptions ajusta MinimumResolutionDpi, MaximumResolutionDpi, GeometryTolerancePoints, RequireFullPageStrip y RequireEncryptedPdf20Profile; TPdfRSaveOptions lleva StripInfoOptionalEntries y StripCatalogOptionalEntries para borrar entradas de Info o del catálogo de origen que §6.4.3 o la lista blanca de §6.3 rechazarían si no; TPdfRPageFacts registra PageNumber, MediaWidth, MediaHeight, los límites ImageLeft, ImageBottom, ImageRight e ImageTop, ImageCount, TextObjectCount, PathObjectCount, FormObjectCount y ShadingObjectCount, la geometría rasterizada PixelWidth, PixelHeight, HorizontalDpi, VerticalDpi y BitsPerPixel, más el ColorSpace y la cadena de Filters de cada página

FPdfPdfua

FunciónPropósito
InjectPdfUaMarkersAñade marcadores de identificación PDF/UA, idioma, título, MarkInfo, preferencias del visor y XMP
ValidatePdfUaComplianceValida marcadores y estructura de PDF/UA-1 o PDF/UA-2, usando opcionalmente los bytes originales para las comprobaciones de XMP
PdfUaIsStandardStructTypeComprueba un nombre de tipo de estructura contra el conjunto estándar de ISO, incluidos los encabezados numerados
PdfReadRoleMapPairsExtrae claves y valores de RoleMap directos o indirectos en matrices paralelas

Los tipos públicos son TPdfUaConformance, TPdfUaValidationIssue, TPdfUaValidationIssues, TPdfUaValidationResult con su conjunto Issues y resultado IsCompliant, TPdfUaSaveOptions y TPdfUaNameArray

La unidad PDFium también expone TPdfUaLanguageSource, TPdfUaLanguageContentKind, TPdfUaLanguageResolution, TPdfUaLanguageSpan, TPdfUaLanguageSpans, TPdfUaLanguageCoverageOptions y TPdfUaLanguageCoverageReport para evidencia acotada de idiomas efectivos

TPdfUaUnicodeObjectCoverage, TPdfUaUnicodeObjectCoverages, TPdfUaUnicodeCoverageOptions y TPdfUaUnicodeCoverageReport aportan evidencia acotada de Unicode directo y ActualText por objeto

ValidatePdfUaPageContentTagging coteja las marcas nativas de objetos de página contra los MCIDs de estructura con alcance de página e informa tanto del contenido real sin etiquetar como del contenido Artifact expuesto en el árbol de estructura

TPdfUaSaveOptions.Default selecciona los valores predeterminados de PDF/UA-1, mientras que TPdfUaSaveOptions.PdfUa2 selecciona el perfil PDF/UA-2

TPdfUaSaveOptions lleva DocumentTitle, Language, los metadatos Author, Subject, Keywords, Creator y Producer, CreationDate y ModDate, los UUID de DocumentId e InstanceId, los identificadores Part, Revision, Amd y Corr, y los conmutadores EnsureMarkInfo y EnsureDisplayDocTitle para inyectar las entradas de catálogo requeridas cuando el origen carece de ellas

FPdfPdfvt

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

Tipo públicoPropósito
TPdfVTConformance, TPdfVTTrappedStateConformidad de PDF/VT y selección de estado trapped heredado de PDF/X entre ptvUnspecified, ptvTrue y ptvFalse, con ptvUnspecified normalizado a ptvFalse en la escritura
TPdfVTValidationIssue, TPdfVTValidationIssues, TPdfVTValidationResultHallazgos de validación, el conjunto Issues, la conformidad y el resultado IsCompliant
TPdfDpmEntry, TPdfDpmEntries, TDpmTargetEntradas de Document Part Metadata con Name, Value e IsNestedDict, situadas en el destino dptRoot o dptLeaf
TPdfVTDPartEvidenceJerarquía acotada de partes del documento y evidencia de condiciones de impresión con PageCount, RecordLevel y RecipientRecordCount
TPdfVTSaveOptionsBase PDF/X, bytes del perfil ICC en IccProfileData, output intent mediante OutputCondition, OutputConditionIdentifier, RegistryName y OutputIntentInfo, estado Trapped, metadatos, identificadores, DPart, DPM a través de DpmEntries situadas por DpmTarget y ajustes predeterminados

FPdfPdfx

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

Tipo públicoPropósito
TPdfXConformance, TPdfXTrappedStateVariante de PDF/X y selección de estado trapped del diccionario Info entre ptUnspecified, ptTrue, ptFalse y ptUnknown, con ptUnspecified omitiendo la entrada
TPdfXValidationIssue, TPdfXValidationIssues, TPdfXValidationResultHallazgos de validación, el conjunto Issues, la conformidad y el resultado IsCompliant
TPdfXSaveOptionsConformidad, bytes del perfil ICC en IccProfileData, output intent mediante OutputCondition, OutputConditionIdentifier, RegistryName y OutputIntentInfo, estado Trapped, metadatos, identificadores y valores predeterminados

Política de parámetros RSA-PSS

TPadesRsaPssParameters expone Valid, HashAlgorithmOid, MaskGenAlgorithmOid, MaskGenHashAlgorithmOid, SaltLength y TrailerField; TPadesSignatureAlgorithmInfo.SignaturePss y PublicKeyPss informan por separado de las restricciones CMS y SPKI

InspectPadesSignatureAlgorithm exige parámetros CMS PSS, acepta la SEQUENCE vacía con los valores predeterminados del RFC y rechaza DER malformado, campos explícitos duplicados o desordenados, codificaciones enteras no admitidas y bloques de parámetros demasiado grandes

EvaluatePadesSignatureAlgorithm exige que el digest CMS coincida con el hash PSS; una clave exclusiva PSS rechaza PKCS #1 v1.5, y las claves restringidas requieren hash, hash MGF y trailer coincidentes, con una sal de firma al menos igual al mínimo de la clave

Un hash MGF1 distinto pero admitido puede ser válido; los algoritmos desconocidos son Unsupported, los hashes MGF débiles son Indeterminate y los hashes rotos son Invalid

Los bloques de parámetros se limitan a 16 KiB y los valores de sal y trailer son enteros de 32 bits no negativos; esta política estructural complementa el backend criptográfico y no demuestra la fortaleza de la clave RSA ni la validez de la firma EMSA-PSS

Al construir manualmente la evidencia del algoritmo, rellene SignaturePss y SignatureParametersPresent en lugar de proporcionar solo el OID PSS

API relacionada

Los métodos TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX y los de PAdES proporcionan envoltorios de instancia de documento sobre estas unidades