네이티브 RFC3161 타임스탬프

HPDFHeadlessTimestamp는 Linux와 Windows에서 네이티브 OpenSSL 3 요청 생성과 인증된 RFC3161 응답·토큰 검증을 제공합니다

HPDFSignHeadlessCMS, SignToFile, SignPFXToFile은 실제 CMS 서명 옥텟을 SHA-256으로 해시하고 검증된 응답 토큰을 signatureTimeStampToken 미서명 속성으로 붙입니다

서명 전에 THPDFHeadlessCMSOptions.Timestamp.TrustedCAFile과 Transport를 설정하고, 인증된 토큰이 필수라면 RequireTimestamp를 켜세요

Options := THPDFHeadlessCMSOptions.Default;
Options.TrustedCAFile := SignerTrustFile;
Options.RequireTimestamp := True;
Options.Timestamp.TrustedCAFile := TSATrustFile;
Options.Timestamp.TrustedCRLFile := TSACRLFile;
Options.Timestamp.RequireRevocation := True;
Options.Timestamp.Transport := RequestTimestamp;
Options.Timestamp.TransportContext := TransportContext;
Report := Document.SignPFXToFile(FieldIndex, OutputFile, IdentityPFX,
  IdentityPassword, Options);

호출자 소유 전송은 완전한 DER TimeStampReq를 받고 완전한 DER TimeStampResp를 반환하므로, 호출자가 네트워크 I/O 중 HTTP 인증, TLS 정책, 데드라인, 취소를 통제할 수 있습니다

요청은 새 암호 nonce를 담고 TSA 인증서를 요청합니다. 응답은 요청 nonce와 공급된 서명 값 둘 다와 일치해야 합니다

검증은 완전한 CMS 토큰을 인증하고 TSA 인증서 경로와 critical 타임스탬프 EKU를 검사하며, ESS 서명 인증서 바인딩을 확인하고 TSTInfo가 실은 알고리즘으로 SHA-256, SHA-384, SHA-512 messageImprint를 실제 서명 옥텟과 대조합니다

RequireRevocation은 명시적 CRL 파일을 읽어 들이고 issuer 검증 인증서 폐기 검사를 켭니다. 없거나 만료되었거나 폐기된 증거는 신뢰 결과를 만드는 대신 실패합니다

기존 토큰은 원본 요청 nonce 없이 오프라인으로 검증할 수 있습니다. 새 응답 검증은 추가로 원본 요청 nonce와 응답 상태를 검사합니다

인쇄물을 이미 공급하는 콜백

ForImprint 함수는 미리 계산된 SHA256, SHA384, SHA512 다이제스트와 그 THPDFHeadlessTimestampDigest 값을 받아, 다시 해시하지 않고 그 다이제스트 바이트 그대로 RFC3161 요청에 유지합니다

서명 콜백이 messageImprint를 이미 공급한다면, Windows THPDFCMSTimestampCallback을 포함해 이 함수들을 쓰세요. raw 서명 요청 헬퍼는 계속 SHA256을 쓰고, 오프라인 토큰 검증은 실제 지원되는 TSTInfo 알고리즘으로 원본 서명 옥텟을 해시합니다

Token := HPDFRequestHeadlessTimestampForImprint(MessageImprint,
  htdSHA384, TimestampOptions);

인쇄물 길이는 선택된 다이제스트에 대해 32, 48, 64바이트여야 합니다. 요청 묶음 검증은 추가로 원본 새 nonce, 다이제스트 OID, CMS 서명, TSA 인증서 바인딩, 명시적 신뢰 루트, EKU, 설정된 폐기 증거를 검사합니다

요청 생성, 응답 검증, 오프라인 토큰 검증, 전송, 다이제스트 값을 참고하세요

신뢰 인증서와 CRL 유효성은 검증 시점에 평가되므로, TSA 인증서가 만료된 보관 토큰에는 현재 신뢰 검사를 우회하는 대신 아카이브 검증 정책과 증거가 필요합니다

잘못된 토큰, 중복 타임스탬프 속성, 맞지 않는 인쇄물, 모르는 루트, 잘못된 EKU, 만료·폐기된 TSA 인증서, 만료된 CRL, 응답 예산, 취소는 네이티브와 독립 검수 테스트가 커버합니다

타임스탬프 검증 보고는 문서 서명자 인증서 신뢰와 별개입니다. 서명 타임스탬프가 이후 서명 없는 PDF 리비전을 인증하지는 않습니다

타임스탬프 함수는 쓰일 때만 OpenSSL 타임스탬프 심볼을 읽어 들입니다. 필요하면 HOTPDF_OPENSSL_LIBRARY를 아키텍처가 맞는 OpenSSL 3 공유 라이브러리 경로로 지정하세요