function FreshOcspResponse(const Der: TBytes; UtcNow: TDateTime): Boolean;
function CryptoUtcNow: TDateTime;
| Fonction | Description |
|---|---|
FreshOcspResponse | Renvoie True uniquement si Der contient une réponse basic OCSP réussie et de taille bornée, et si toutes ses réponses passent les contrôles de fraîcheur par rapport à UtcNow ; ce préfiltre n’authentifie jamais les preuves |
CryptoUtcNow | Renvoie le TDateTime UTC courant grâce à la conversion de fuseau de la plateforme, sans traiter l’heure locale comme une heure UTC |
| Contrôle | Limite ou comportement |
|---|---|
| Taille de la réponse DER | Non vide et au plus 1 MiB |
| Entrées SingleResponse | Au moins une, avec une limite absolue de 64 |
| Décalage d’horloge | 300 secondes pour les comparaisons d’expiration ou de date future |
producedAt et thisUpdate | Au plus un jour d’ancienneté, sans dépasser le décalage futur autorisé |
nextUpdate | S’il est présent, ne doit pas précéder thisUpdate et doit rester valide dans le décalage autorisé |
| Réponse mal formée ou non prise en charge | Renvoie False, notamment si la réponse OCSP externe échoue ou si son type n’est pas pris en charge |
True autorise seulement le vérificateur natif à examiner la réponse ; il ne prouve ni la signature ou l’autorité du répondeur, ni la correspondance de l’émetteur, l’identifiant du certificat ou son état positif
FPdfCryptoSsl authentifie OCSP avec OpenSSL, et FPdfCryptoMac authentifie les réponses fournies avec Security.framework ; examinez leurs résultats distincts de signature, de confiance et de révocation au lieu d’utiliser FreshOcspResponse comme verdict de révocation
L’assistant ne fait aucune requête HTTP, n’ajoute pas d’ancre de confiance, ne change pas la confiance système et n’utilise pas de cache persistant ; l’appelant fournit explicitement l’UTC, ce qui permet aussi des tests déterministes aux limites temporelles