const TsaMaxResponseBytes= 4* 1024* 1024;
function WinHttpAvailable: Boolean;
function PostTimeStampQuery(const TsaUrl: string; const ReqDer: TBytes;
out RespDer: TBytes): Boolean;
FPdfTsaWin은 FPdfTsa가 사용하는 Windows 전용 타임스탬프 전송입니다. WinHttp API로 인코딩된 TimeStampReq를 타임스탬프 기관 URL에 POST하고 TimeStampResp 바이트를 받아옵니다
WinHttpAvailable은 이 머신에서 WinHttp 바인딩이 해석되는지 보고하고, PostTimeStampQuery는 실제 HTTP 교환을 수행하며 요청이 전송 수준에서 실패하면 예외 대신 False를 반환해 호출자가 자체 재시도 정책을 적용할 수 있게 합니다
모든 WinHttp 핸들 및 함수 포인터 바인딩은 implementation 섹션에 있고, 인터페이스는 가용성 검사와 POST 헬퍼만 노출합니다
| Function | Description |
|---|---|
WinHttpAvailable | 런타임에 WinHttp 전송 바인딩을 해석할 수 있으면 True를 반환합니다 |
PostTimeStampQuery | TimeStampReq를 TSA URL로 POST하고 응답 DER을 반환합니다. 전송 실패 시 False를 반환합니다 |
| Constant | Purpose |
|---|---|
TsaMaxResponseBytes | 타임스탬프 응답의 상한인 4 MB입니다. 이를 넘는 응답은 쌓아두는 대신 버려지므로, 악의적이거나 깨진 기관이 메모리를 소진할 수 없습니다. 다른 플랫폼의 전송 계층도 같은 한도를 강제합니다 |
Content-Type: application/timestamp-query로 전송되고 application/timestamp-reply를 기대합니다PadesTimestampOverride로 다른 전송이 등록되지 않는 한 FPdfTsa가 PadesTsaAvailable = False를 보고합니다