THotPDF.PreparePDFForSigning Method
THotPDF.PreparePDFForSigning 메서드 설명
선언
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;
비고
PDFBytes는 THPDFPage.AddSignedSignatureField가 준비한 저장된 문서입니다. 이 메서드는 /ByteRange 플레이스홀더를 실제 값으로 그 자리에서 교체하며, 플레이스홀더를 찾지 못하면 False를 반환합니다
Range1Start,Range1Length,Range2Start,Range2Length는 0 기반 파일 오프셋과 길이입니다. 이 두 범위를 순서대로 해시하면 CMS 서명이 커버하는 다이제스트가 만들어집니다- 두 범위 사이의 바이트는
<와>구분자를 포함한 완전한/Contents16진수 문자열입니다. ISO/IEC 32000-1 12.8.3.3이 요구하는 형태입니다 ContentsHexStart는PDFBytes에서 첫 번째 16진수 자리의 1 기반 인덱스이고,ContentsHexLen은 예약된 16진수 자리 수입니다. 16진수로 인코딩한 서명을InsertSignatureHex에 전달하면, 값이 더 짧을 경우 끝을 0으로 채웁니다