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ón | Propósito |
|---|---|
AnsiCountDictKeyTokens | Cuenta una clave de nombre decodificada en el nivel superior de un diccionario PDF en bruto mientras omite valores anidados, cadenas y comentarios |
TPdfParserResourceBudget | Define 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 |
ConfigurePdfParserResourceBudget | Valida y reemplaza atómicamente la política de proceso usada por las operaciones posteriores de analizadores personalizados |
GetPdfParserResourceBudget | Devuelve una instantánea segura para subprocesos de la política de proceso actual |
ResetPdfParserResourceBudget | Restaura la política de proceso predeterminada |
PdfParserStartTick, PdfParserDeadlineReached | Proporcionan puntos de control de plazo seguros frente al desbordamiento del contador para implementaciones de analizadores personalizadas |
FPdfAssocFilesprocedure InjectAssociateFiles(Source: TStream; Dest: TStream; const Options: TAssocFilesOptions);
| Tipo público | Propósito |
|---|---|
TPdfAFRelationship | Valores AFRelationship de ISO 32000-2: afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData y afTemplate, incluidas las incorporaciones de PDF 2.0 |
TAssociateFile | Un archivo asociado con FileName, Description, el Content de la carga, Relationship y el MIMEType opcional |
TAssocFilesOptions | Lista de archivos asociados en Files y destino de catálogo o página en TargetPage, con valores predeterminados de TAssocFilesOptions.Default |
EPdfAssocFilesError | La 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ón | Propósito |
|---|---|
InjectPadesDssMarkers | Añade material de certificados DSS, OCSP, CRL y VRI mediante una actualización incremental |
RenewPadesArchiveTimestamp | Anexa una marca de tiempo de documento e informa del nivel de archivo resultante y de los metadatos de la marca de tiempo |
ValidatePadesCompliance, ValidatePadesTrust | Validan 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 |
AnalyzePadesSignatureRevisions | Clasifica las revisiones posteriores, los cambios de objetos, los efectos de FieldMDP y los riesgos de modificación |
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytes | Construyen evidencia acotada de múltiples firmas desde un flujo o una captura inmutable existente de bytes de origen |
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithm | Inspeccionan 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 |
VerifyCmsAlgorithmProtection | Comprueba el atributo firmado de protección de algoritmos CMS contra los algoritmos de resumen y de firma del firmante |
SignPadesBytes | Anexa una firma PAdES local con sellado de tiempo RFC 3161 opcional |
PreparePadesRemoteSignature, CompletePadesRemoteSignature | Preparan y completan un flujo de trabajo de marcador de posición de firma remota enlazado de ancho fijo |
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequest | Persisten o restauran los metadatos de la solicitud necesarios para completar la firma remota |
| Área | Tipos |
|---|---|
| Niveles y validación | TPadesLevel (plUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA), TPadesValidationIssue, TPadesValidationIssues, TPadesValidationSourceStatus (pvssUnavailable, pvssOriginalBytes, pvssIncomplete), TPadesValidationResult |
| Criptografía | TPadesCryptoStatus (pcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate), TPadesSignatureAlgorithmFamily (psafUnknown, psafRsa, psafEcdsa, psafEd25519, psafEd448), TPadesSignatureAlgorithmInfo, TPadesSignatureValidation, TPadesSignatureValidations |
| Validación de confianza | TPadesTrustNetworkPolicy (ptnpOffline, ptnpOnline), TPadesTrustValidationStage, TPadesTrustValidationProgress, TPadesTrustValidationProgressEvent, TPadesTrustValidationOptions, TPadesTrustValidationAsyncStatus, TPadesTrustValidationCompletion, TPadesTrustValidationReply |
| Análisis de revisiones | 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 |
| Informes de evidencia | TPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport |
| DSS y marcas de tiempo de archivo | TPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport |
| Firma | TPadesSeedValueConstraint, 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
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 público | Propósito |
|---|---|
TPdfAConformance | Parte y nivel de conformidad de PDF/A detectados o solicitados |
TPdfAValidationIssue, TPdfAValidationIssues | Hallazgos individuales de preflight y su representación en conjunto |
TPdfANameArray | Lista de cadenas usada por los hallazgos de validación basados en nombres |
TPdfAMetadataField, TPdfAMetadataFields | Las 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 |
TPdfAMetadataValues | Valores 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, TPdfAMetadataReport | Evidencia 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 |
TPdfAValidationResult | Conformidad, el conjunto Issues y el resultado IsCompliant |
TPdfASaveOptions | Metadatos, 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
FPdfPdfeprocedure InjectPdfEMarkers(Source: TStream; Dest: TStream; const Options: TPdfESaveOptions);
function ValidatePdfECompliance(Source: TStream): TPdfEValidationResult;
| Tipo público | Propósito |
|---|---|
TPdfEConformance | Conformidad de PDF/E detectada o solicitada |
TPdfEValidationIssue, TPdfEValidationIssues | Hallazgos 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 |
TPdfEValidationResult | Conformidad, el conjunto Issues y el resultado IsCompliant |
TPdfESaveOptions | Version de PDF/E, metadatos, identificadores de documento y valores predeterminados |
FPdfPdfr| Función | Propósito |
|---|---|
InjectPdfRMarkers | Escribe la identificación de PDF/R y estructuras restringidas de catálogo e Info |
ValidatePdfRCompliance | Valida un flujo con los límites predeterminados de documentos rasterizados |
ValidatePdfRComplianceWithOptions | Valida un flujo con requisitos de resolución, geometría, tira y cifrado seleccionados por quien llama |
ValidatePdfRPageFacts | Valida 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ón | Propósito |
|---|---|
InjectPdfUaMarkers | Añade marcadores de identificación PDF/UA, idioma, título, MarkInfo, preferencias del visor y XMP |
ValidatePdfUaCompliance | Valida marcadores y estructura de PDF/UA-1 o PDF/UA-2, usando opcionalmente los bytes originales para las comprobaciones de XMP |
PdfUaIsStandardStructType | Comprueba un nombre de tipo de estructura contra el conjunto estándar de ISO, incluidos los encabezados numerados |
PdfReadRoleMapPairs | Extrae 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
FPdfPdfvtprocedure InjectPdfVTMarkers(Source: TStream; Dest: TStream; const Options: TPdfVTSaveOptions);
function ValidatePdfVTCompliance(Source: TStream): TPdfVTValidationResult;
function ReadPdfVTDPartEvidence(Source: TStream): TPdfVTDPartEvidence;
| Tipo público | Propósito |
|---|---|
TPdfVTConformance, TPdfVTTrappedState | Conformidad 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, TPdfVTValidationResult | Hallazgos de validación, el conjunto Issues, la conformidad y el resultado IsCompliant |
TPdfDpmEntry, TPdfDpmEntries, TDpmTarget | Entradas de Document Part Metadata con Name, Value e IsNestedDict, situadas en el destino dptRoot o dptLeaf |
TPdfVTDPartEvidence | Jerarquía acotada de partes del documento y evidencia de condiciones de impresión con PageCount, RecordLevel y RecipientRecordCount |
TPdfVTSaveOptions | Base 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 |
FPdfPdfxprocedure InjectPdfXMarkers(Source: TStream; Dest: TStream; const Options: TPdfXSaveOptions);
function ValidatePdfXCompliance(Source: TStream): TPdfXValidationResult;
| Tipo público | Propósito |
|---|---|
TPdfXConformance, TPdfXTrappedState | Variante 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, TPdfXValidationResult | Hallazgos de validación, el conjunto Issues, la conformidad y el resultado IsCompliant |
TPdfXSaveOptions | Conformidad, bytes del perfil ICC en IccProfileData, output intent mediante OutputCondition, OutputConditionIdentifier, RegistryName y OutputIntentInfo, estado Trapped, metadatos, identificadores y valores predeterminados |
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
Los métodos TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX y los de PAdES proporcionan envoltorios de instancia de documento sobre estas unidades