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ón | Propósito |
|---|---|
AnsiCountDictKeyTokens | Cuenta 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 |
TPdfParserResourceBudget | Define 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 |
ConfigurePdfParserResourceBudget | Valida y reemplaza atómicamente la política de proceso usada por las operaciones posteriores de analizador personalizadas |
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 analizador 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 adiciones de PDF 2.0 |
TAssociateFile | Un archivo asociado con FileName, Description, el Content de la carga útil, Relationship y MIMEType opcional |
TAssocFilesOptions | Lista Files de archivos asociados y TargetPage de catálogo o página, con valores predeterminados de TAssocFilesOptions.Default |
EPdfAssocFilesError | La 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ón | Propósito |
|---|---|
InjectPadesDssMarkers | Agrega material DSS de certificados, OCSP, CRL y VRI mediante una actualización incremental |
RenewPadesArchiveTimestamp | Anexa una marca de tiempo de documento e informa el nivel de archivo resultante y 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 ByteRange y del token de 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 FieldMDP y los riesgos de modificación |
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytes | Construyen evidencia acotada de múltiples firmas a partir de un flujo o de una captura inmutable existente de los bytes de origen |
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithm | Inspeccionan 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 |
VerifyCmsAlgorithmProtection | Comprueba el atributo firmado de protección de algoritmo del 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 de ancho fijo vinculado |
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequest | Persisten o restauran los metadatos de 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 sellos de tiempo de archivo | TPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport |
| Firma | TPadesSeedValueConstraint, 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
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 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, TPdfAMetadataReport | Evidencia 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 |
TPdfAValidationResult | Conformidad, el conjunto Issues y el resultado IsCompliant |
TPdfASaveOptions | Metadatos, 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
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 recursos 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 PDF/R y las estructuras restringidas de catálogo e Info |
ValidatePdfRCompliance | Valida un flujo con los límites predeterminados de documento rasterizado |
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 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ón | Propósito |
|---|---|
InjectPdfUaMarkers | Agrega los marcadores de identificación, idioma, título, MarkInfo, preferencias del visor y XMP de PDF/UA |
ValidatePdfUaCompliance | Valida los marcadores y la estructura de PDF/UA-1 o PDF/UA-2, usando opcionalmente los bytes originales para las comprobaciones XMP |
PdfUaIsStandardStructType | Comprueba un nombre de tipo de estructura contra el conjunto estándar de ISO, incluidos los encabezados numerados |
PdfReadRoleMapPairs | Extrae 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
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 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, 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, ubicadas en el destino dptRoot o dptLeaf |
TPdfVTDPartEvidence | Jerarquía acotada de partes del documento y evidencia de condición de impresión con PageCount, RecordLevel y RecipientRecordCount |
TPdfVTSaveOptions | Base 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 |
FPdfPdfxprocedure InjectPdfXMarkers(Source: TStream; Dest: TStream; const Options: TPdfXSaveOptions);
function ValidatePdfXCompliance(Source: TStream): TPdfXValidationResult;
| Tipo público | Propósito |
|---|---|
TPdfXConformance, TPdfXTrappedState | Variante PDF/X y selección del 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, los bytes del perfil ICC en IccProfileData, output intent mediante OutputCondition, OutputConditionIdentifier, RegistryName y OutputIntentInfo, el estado Trapped, metadatos, identificadores y valores predeterminados |
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
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