PDFium Delphi Component Docs

Unidades auxiliares de estándares PDF

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

Úselas cuando un flujo de trabajo ya posee los 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 sin procesar, saltándose los valores anidados, las cadenas y los comentarios
TPdfParserResourceBudgetDefine límites de recursión, tokens, objetos, bytes decodificados, relación de expansión, asignaciones y plazo para 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 analizador personalizadas
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 analizador 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 adiciones de PDF 2.0
TAssociateFileUn archivo asociado con FileName, Description, el Content de la carga útil, Relationship y MIMEType opcional
TAssocFilesOptionsLista Files de archivos asociados y TargetPage de catálogo o página, con valores predeterminados de TAssocFilesOptions.Default
EPdfAssocFilesErrorLa lanza InjectAssociateFiles cuando el origen no tiene un trailer o catálogo legible, o cuando TargetPage es negativo o no nombra una página en el orden del árbol de páginas; el stream de destino queda sin modificar

FPdfPades

FunciónPropósito
InjectPadesDssMarkersAgrega material DSS de certificados, OCSP, CRL y VRI mediante una actualización incremental
RenewPadesArchiveTimestampAnexa una marca de tiempo de documento e informa el nivel de archivo resultante y los metadatos de la marca de tiempo
ValidatePadesCompliance, ValidatePadesTrustValidan la cardinalidad de las entradas de firma de nivel superior, la exclusión exacta de ByteRange y del token de 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 FieldMDP y los riesgos de modificación
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytesConstruyen evidencia acotada de múltiples firmas a partir de un flujo o de una captura inmutable existente de los bytes de origen
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithmInspeccionan los parámetros de algoritmo de CMS y de certificados y evalúan su estado de seguridad admitido, aplicando el perfil de curvas elípticas de PDF 2.0 y los signature suites RSA de ETSI TS 119 312
VerifyCmsAlgorithmProtectionComprueba el atributo firmado de protección de algoritmo del 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 de ancho fijo vinculado
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequestPersisten o restauran los metadatos de solicitud necesarios para completar la firma remota

Tipos públicos 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 sellos de tiempo de archivoTPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport
FirmaTPadesSeedValueConstraint, TPadesSeedValueConstraints, TPadesSignatureFieldOptions, TPadesSignOptions, TPadesRemoteSignOptions, TPadesRemoteByteRange, TPadesRemoteSigningRequest

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

TPadesSignatureAlgorithmInfo informa Family, DigestAlgorithmOid, SignatureAlgorithmOid, PublicKeyAlgorithmOid, CurveOid, DigestParametersPresent, DigestParameterBits, SignatureParametersPresent, PublicKeyParametersPresent, PublicKeyParametersAreNamedCurve y PolicyStatus; TPadesSignatureValidation agrega los veredictos IsDocumentTimeStamp, CoveredRevisionLength, ByteRangeStatus, CmsSignatureStatus, AlgorithmPolicyStatus, SigningCertificateStatus, CertificateTrustStatus, QualifiedTrustStatus, RevocationStatus, TimeStampStatus, TimeStampSignatureStatus, TimeStampTrustStatus y TimeStampRevocationStatus, NativeSignatureError, NativeTrustError, SignerCertificateSha256, CertificateChainSha256 y la evidencia anidada 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, el ErrorMessage, el ErrorClassName y la 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 RevisionIndex, ObjectNumber, Generation, Offset, ObjectStreamNumber, ObjectStreamIndex, Kind, Decision, IsAuthoritative e IsRedefinition; TPadesSignatureRevisionAnalysis agrega 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 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 el Validation y Revision anidados

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 útil DerBytes de certificado, OCSP o CRL; TPadesDssVri selecciona material a nivel de documento mediante SignatureContents, CertIndexes, OcspIndexes y CrlIndexes; TPadesDssOptions acepta Certs, Ocsps, Crls, Vris, EsicExtensionLevel e IncludeVri; TPadesArchiveTimestampOptions lleva TsaUrl, Nonce, ContentsSize, UpdateDss y el DssOptions anidado; TPadesArchiveTimestampReport informa 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 el FieldOptions anidado; TPadesRemoteSignOptions refleja el subconjunto seguro para remoto Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize y FieldOptions; TPadesRemoteSigningRequest vincula FormatVersion, PreparedFingerprint, DocumentDigest, ByteRange, ContentsHexOffset y ContentsSize

TPadesTrustValidationOptions.QualifiedValidationTime selecciona el tiempo de evaluación del historial de servicio de la lista de confianza, con cero seleccionando el tiempo actual

TPadesSignatureValidation también carga RevocationReason: TPdfCmsRevocationReason, NativeRevocationError: Cardinal, TimeStampRevocationReason: TPdfCmsRevocationReason y NativeTimeStampRevocationError: Cardinal. Los diagnósticos de la firma provienen de su verificación CMS detached; los diagnósticos del sello de tiempo provienen de la verificación del token attached, incluidos los Document Time-stamps, y nunca reemplazan los diagnósticos de la firma

Las razones quedan en pcrrNone y los errores nativos en cero cuando la revocación está deshabilitada o no se alcanza la verificación CMS correspondiente. Estos valores por omisión no establecen éxito; inspeccione RevocationStatus y TimeStampRevocationStatus. ValidatePadesTrustAsync conserva estos campos en su resultado de finalización, y TPadesSignatureEvidence.Validation los retiene para TPadesEvidenceReport.ToJson y ToCsv

Los campos de diagnóstico se agregaron al final del registro público TPadesSignatureValidation, lo que aumenta su tamaño. Recompile las aplicaciones y los paquetes que intercambian este registro o registros que lo contienen contra las unidades actualizadas; los binarios compilados previamente no comparten el nuevo diseño 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 Info Unicode 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, por campo Field, State, InfoValue y XmpValue, a nivel de informe HasXmpPacket, XmpParseError, MismatchFields y el arreglo Comparisons, y estado agregado
TPdfAValidationResultConformidad, el conjunto Issues y el resultado IsCompliant
TPdfASaveOptionsMetadatos, identificadores, los bytes del perfil ICC en IccProfileData, output intent y configuración de conformidad con valores Default

InjectPdfAMarkers usa búsqueda dispersa de la última revisión y copia acotada del origen para diseños clásicos, de xref-stream, híbridos y de object-stream válidos, conservando el analizador de compatibilidad para datos de referencias cruzadas no admitidos o mal formados

La revisión incremental preserva las generaciones de la raíz y de Info, el estilo de 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 recursos 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 PDF/R y las estructuras restringidas de catálogo e Info
ValidatePdfRComplianceValida un flujo con los límites predeterminados de documento rasterizado
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 conteos de objetos, las características de imagen 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 de catálogo del origen que §6.4.3 o la lista blanca de §6.3 rechazarían de otro modo; 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, además del ColorSpace y la cadena de Filters de cada página

FPdfPdfua

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

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 proporcionan evidencia acotada de extracción de Unicode directo y ActualText por objeto

ValidatePdfUaPageContentTagging coteja las marcas nativas de objetos de página contra los MCIDs de estructura por página e informa tanto el contenido real sin etiquetar como el 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 DocumentId e InstanceId, los identificadores Part, Revision, Amd y Corr, y los interruptores EnsureMarkInfo y EnsureDisplayDocTitle para inyectar las entradas de catálogo requeridas cuando el origen no las tiene

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 PDF/VT y selección del estado trapped heredado de PDF/X entre ptvUnspecified, ptvTrue y ptvFalse, con ptvUnspecified normalizado a ptvFalse al escribir
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, ubicadas en el destino dptRoot o dptLeaf
TPdfVTDPartEvidenceJerarquía acotada de partes del documento y evidencia de condición de impresión con PageCount, RecordLevel y RecipientRecordCount
TPdfVTSaveOptionsBase PDF/X, los bytes del perfil ICC en IccProfileData, output intent mediante OutputCondition, OutputConditionIdentifier, RegistryName y OutputIntentInfo, el estado Trapped, metadatos, identificadores, DPart, DPM mediante DpmEntries ubicados por DpmTarget y configuración predeterminada

FPdfPdfx

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

Tipo públicoPropósito
TPdfXConformance, TPdfXTrappedStateVariante PDF/X y selección del 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, los bytes del perfil ICC en IccProfileData, output intent mediante OutputCondition, OutputConditionIdentifier, RegistryName y OutputIntentInfo, el 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 las restricciones de CMS y SPKI por separado

InspectPadesSignatureAlgorithm exige parámetros CMS PSS, acepta la SEQUENCE vacía con los valores predeterminados de RFC y rechaza DER mal formado, campos explícitos duplicados o fuera de orden, codificaciones de enteros no admitidas y bloques de parámetros demasiado grandes

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

Un hash MGF1 compatible diferente puede ser válido; los algoritmos desconocidos son Unsupported, los hashes MGF débiles son Indeterminate y los hashes vulnerados son Invalid

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

Al construir evidencia de algoritmos manualmente, complete SignaturePss y SignatureParametersPresent en lugar de proporcionar solo el OID de PSS

API relacionada

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