function FreshOcspResponse(const Der: TBytes; UtcNow: TDateTime): Boolean;
function CryptoUtcNow: TDateTime;
| Funkce | Popis |
|---|---|
FreshOcspResponse | Vrátí True pouze tehdy, když má Der omezenou strukturu úspěšné basic OCSP response a všechny zahrnuté odpovědi projdou kontrolou časové platnosti proti UtcNow; jde o předběžný filtr, který nikdy neověřuje autenticitu důkazů |
CryptoUtcNow | Vrátí aktuální UTC TDateTime pomocí platformního převodu časového pásma, místo aby považoval místní čas za UTC |
| Kontrola | Limit nebo chování |
|---|---|
| DER response size | Neprázdné, nejvýše 1 MiB |
| SingleResponse entries | Alespoň jedna, pevný limit 64 |
| Clock skew | 300 sekund pro porovnání budoucnosti nebo expirace |
producedAt and thisUpdate | Stáří nejvýše jeden den, budoucí čas nepřekračuje povolenou odchylku |
nextUpdate | Pokud je přítomno, nesmí předcházet thisUpdate a musí zůstat platné v rámci povolené odchylky |
| Malformed or unsupported response | Vrátí False, včetně neúspěšné vnější odpovědi OCSP nebo nepodporovaného typu odpovědi |
Výsledek True pouze dovolí nativnímu verifieru odpověď prozkoumat. Neprokazuje podpis responderu, jeho oprávnění, shodu issuera, identifikátor certifikátu ani kladný stav certifikátu
FPdfCryptoSsl ověřuje autenticitu OCSP přes OpenSSL a FPdfCryptoMac autenticitu dodaných odpovědí přes Security.framework. Aplikace mají číst jejich nezávislé výsledky podpisu, důvěry a odvolání, ne používat FreshOcspResponse jako verdikt odvolání
Helper neprovádí HTTP požadavky, nepřidává trust anchors, nemění systémovou důvěru a nepoužívá perzistentní cache. Volající explicitně dodává UTC, což umožňuje i deterministické testování časových hranic