PDFium Delphi Component Docs

FPdfCryptoOcsp 單元

單元:FPdfCryptoOcsp
OpenSSL 與原生 macOS 驗證後端共用的有上限 OCSP DER 與時效檢查

語法

function FreshOcspResponse(const Der: TBytes; UtcNow: TDateTime): Boolean;
function CryptoUtcNow: TDateTime;

函式

函式說明
FreshOcspResponse只有當 Der 具有符合上限、成功的基本 OCSP 回應結構,且每份內含回應都通過相對於 UtcNow 的時效檢查時,才傳回 True;這只是預篩選,不會驗證證據真偽
CryptoUtcNow使用平台時區轉換傳回目前 UTC 的 TDateTime,不會把本地時間直接當成 UTC

上限與時效

檢查項目限制或行為
DER 回應大小非空且最多 1 MiB
SingleResponse 項目至少一筆,硬性上限為 64
時鐘偏差比較未來時間或到期時間時容許 300 秒
producedAt 與 thisUpdate資料年齡最多一天,且不得超過容許的未來時差
nextUpdate若有提供,不得早於 thisUpdate,且必須在容許時差內仍有效
格式錯誤或不支援的回應傳回 False,包括外層 OCSP 回應未成功或回應類型不受支援

仍須驗證真偽

True 結果僅允許原生驗證器進一步檢查回應,不證明回應者簽章、回應者權限、簽發者匹配、憑證識別碼或憑證狀態正常

FPdfCryptoSsl 透過 OpenSSL 驗證 OCSP 真偽,FPdfCryptoMac 則透過 Security.framework 驗證提供的回應。應用程式應檢查獨立的簽章、信任與撤銷結果,不應把 FreshOcspResponse 當成撤銷判定

此輔助功能不發出 HTTP 請求、不加入信任錨點、不變更系統信任,也不使用持久快取。呼叫端明確提供 UTC,因此也能進行可重現的時間邊界測試

另請參閱

FPdfCrypto, FPdfCryptoSsl, FPdfCryptoMac, FPdfAsn1