THotPDF.PreparePDFForSigning Method
Prepara un PDF sin firmar para la firma externa, reservando el área del contenedor de la firma y generando los rangos de bytes que firma quien llama.
Declaración
class function PreparePDFForSigning(var PDFBytes: AnsiString; out Range1Start: Integer; out Range1Length: Integer; out Range2Start: Integer; out Range2Length: Integer; out ContentsHexStart: Integer; out ContentsHexLen: Integer): boolean;
Observaciones
PDFBytes es el documento guardado que preparó THPDFPage.AddSignedSignatureField. El método sustituye en su sitio el marcador /ByteRange por los valores reales y devuelve False cuando no encuentra ningún marcador
Range1Start,Range1Length,Range2StartyRange2Lengthson desplazamientos y longitudes de archivo de base 0. Calcule el hash de esos dos rangos, en ese orden, para obtener el digest que cubre la firma CMS- Los bytes entre ambos rangos son la cadena hexadecimal
/Contentscompleta, incluidos sus delimitadores<y>, como exige ISO/IEC 32000-1 12.8.3.3 ContentsHexStartes el índice de base 1 del primer dígito hexadecimal enPDFBytesyContentsHexLenel número de dígitos hexadecimales reservados. Pase la firma codificada en hexadecimal aInsertSignatureHex, que rellena con ceros al final un valor más corto