Registro THPDFSignatureInfo

Describe una firma PDF cargada, desde las identidades del certificado hasta la cobertura del rango de bytes y el veredicto de verificación

Declaración

THPDFSignatureInfo= record
  FieldName: AnsiString;       // signature form field partial name
  SubFilter: AnsiString;       // /SubFilter of the signature dictionary
  SignerName: AnsiString;      // CN of the signer certificate subject
  SubjectDN: AnsiString;       // rendered subject distinguished name
  IssuerDN: AnsiString;        // rendered issuer distinguished name
  SerialNumberHex: AnsiString; // certificate serial number, hex encoded
  ValidFrom: TDateTime;        // certificate notBefore (0 when absent)
  ValidTo: TDateTime;          // certificate notAfter (0 when absent)
  SigningTime: TDateTime;      // signed attribute 1.2.840.113549.1.9.5,
                               // else the /M entry, else 0
  HashAlgorithm: AnsiString;   // SHA-1, SHA-2, SHA-3, or SHAKE256
  DigestAlgorithmOID: AnsiString;
  DigestConsistencyIssue: THPDFCMSDigestConsistencyIssue;
  SignaturePolicy: THPDFSignaturePolicyInfo;
  Reason: AnsiString;          // /Reason from the signature dictionary
  Location: AnsiString;        // /Location
  ContactInfo: AnsiString;     // /ContactInfo
  ByteRange: array of Int64;   // /ByteRange pairs (offset, length, ...)
  CoversWholeDocument: boolean; // ByteRange spans the file except /Contents
  SignedRevisionLength: Int64; // source prefix covered by this signature
  UnsignedTrailingBytes: Int64; // bytes appended after the signed revision
  CertificateTimeValidity: THPDFSignatureTimeValidity;
  Status: THPDFSignatureVerifyStatus;
  PublicKeyAlgorithm: AnsiString; // RSA, ECDSA, EdDSA, or ML-DSA
  SignatureAlgorithm: AnsiString; // CMS signature algorithm name
  SignatureAlgorithmOID: AnsiString;
  CurveName: AnsiString;          // ECDSA curve, such as 'P-256'
  Timestamp: THPDFTimestampInfo;  // RFC 3161 signature or document timestamp
  CMSAttributes: THPDFCMSAttributeSummary;
  CertificateValidation: THPDFCertificateValidationInfo;
end;

Unidad

HPDFSignVerify

Campos

CampoPropósito
FieldNameNombre parcial del campo de formulario de la firma
SubFilterValor de la entrada /SubFilter del diccionario de firma
SignerNameCN del sujeto del certificado del firmante
SubjectDNNombre distinguido de sujeto del certificado, renderizado
IssuerDNNombre distinguido de emisor del certificado, renderizado
SerialNumberHexNúmero de serie del certificado, codificado en hexadecimal
ValidFromnotBefore del certificado, 0 cuando está ausente
ValidTonotAfter del certificado, 0 cuando está ausente
SigningTimeAtributo firmado 1.2.840.113549.1.9.5, si no la entrada /M, si no 0
HashAlgorithmFamilia de digest: SHA-1, SHA-2, SHA-3 o SHAKE256
DigestAlgorithmOIDIdentificador de objeto del algoritmo de digest
DigestConsistencyIssueDesajuste detectado entre los algoritmos de digest dentro de la estructura CMS
SignaturePolicyDetalles de la política de firma cuando la firma lleva una política
ReasonValor de la entrada /Reason
LocationValor de la entrada /Location
ContactInfoValor de la entrada /ContactInfo
ByteRangePares de offset y longitud del /ByteRange que describen los intervalos de bytes cubiertos
CoversWholeDocumentTrue cuando el rango de bytes cubre todo el archivo salvo el hueco del /Contents
SignedRevisionLengthLongitud del prefijo de la fuente cubierto por esta firma
UnsignedTrailingBytesBytes añadidos después de la revisión firmada
CertificateTimeValiditySi la hora de firma cae dentro de la ventana de validez del certificado
StatusVeredicto de verificación de tipo THPDFSignatureVerifyStatus
PublicKeyAlgorithmFamilia de clave pública: RSA, ECDSA, EdDSA o ML-DSA
SignatureAlgorithmNombre del algoritmo de firma CMS
SignatureAlgorithmOIDIdentificador de objeto del algoritmo de firma
CurveNameNombre de curva ECDSA, como P-256
TimestampDetalles del timestamp de firma o de documento RFC 3161
CMSAttributesResumen de los atributos CMS firmados
CertificateValidationResultado de la validación de la cadena de certificados

Notas de uso

APIs relacionadas