function FreshOcspResponse(const Der: TBytes; UtcNow: TDateTime): Boolean;
function CryptoUtcNow: TDateTime;
| Funkcja | Opis |
|---|---|
FreshOcspResponse | Zwraca True tylko wtedy, gdy Der ma ograniczoną, udaną podstawową strukturę odpowiedzi OCSP, a każda zawarta odpowiedź przechodzi kontrole świeżości względem UtcNow; to prefiltr, który nigdy nie uwierzytelnia dowodów |
CryptoUtcNow | Zwraca bieżący TDateTime w UTC, korzystając z konwersji strefy czasowej platformy, a nie traktując czasu lokalnego jako UTC |
| Kontrola | Limit lub zachowanie |
|---|---|
| Rozmiar odpowiedzi DER | Niepusta i co najwyżej 1 MiB |
| Wpisy SingleResponse | Co najmniej jeden, z twardym limitem 64 |
| Rozsynchronizowanie zegarów | 300 sekund dla porównań w przyszłość i wygasania |
producedAt i thisUpdate | Najwyżej jeden dzień stare i nie dalej niż dozwolony zapas w przyszłość |
nextUpdate | Jeśli obecne, nie może poprzedzać thisUpdate i musi pozostać ważne w dozwolonym zapasie |
| Wadliwa lub nieobsługiwana odpowiedź | Zwraca False, włącznie z nieudaną zewnętrzną odpowiedzią OCSP lub nieobsługiwanym typem odpowiedzi |
Wynik True jedynie pozwala natywnemu weryfikatorowi zbadać odpowiedź. Nie dowodzi on sygnatury respondera, jego uprawnień, dopasowania wystawcy, identyfikatora certyfikatu ani pozytywnego statusu certyfikatu
FPdfCryptoSsl uwierzytelnia OCSP przez OpenSSL, a FPdfCryptoMac uwierzytelnia dostarczone odpowiedzi przez Security.framework. Aplikacje powinny badać niezależne wyniki sygnatur, zaufania i unieważnień, zamiast używać FreshOcspResponse jako wyroku o unieważnieniu
Helper nie wykonuje żądań HTTP, nie dodaje kotwic zaufania, nie zmienia zaufania systemowego i nie używa trwałego cache. Wywołujący podają UTC jawnie, co umożliwia też deterministyczne testowanie granic czasu