KB Article #176567
How does SV decide when to download a CRL?
Problem
* How does SV decide when to download a new CRL?Resolution
-- SV uses the following algorithm to determine what to do:
- When request for validation comes, the cache (if enabled) is searched for a CRL for the CA.
- If there is no CRL in the cache, it is downloaded from the specified location.
- If the current time is less than the CRL expiration (now < nextUpdate), the CRL is used. If the cache is enabled, the CRL is also saved in the cache.
- If the retrieved CRL is expired (now > nextUpdate),
- If the CRL validity has not been extended (VC_ALLOW_EXPIRED_CRL=0) the CRL is rejected and the next validation method (if configured) is used
- Conversely, if we have configured an extended validity period (VC_ALLOW_EXPIRED_CRL>0)
- and the current time falls within the extension (now > nextUpate and now < NextUpdate + VC_ALLOW_EXPIRED_CRL), the CRL is used, but it is not cached
- if the current time is past the validity extension (now > nextUpdate + VC_ALLOW_EXPIRED_CRL) then the CRL is rejected and the next validation method (if configured) is used.
- If there is a CRL in the cache
- If the current time is less than the CRL expiration (now < nextUpdate), the CRL in the cache is used
- If the CRL in cache is expired (now > nextUpdate) SV tries to download a new CRL.
- If the CRL download is successful
- If the new CRL is different than the cached CRL, it will go back to step 2, as if there had been no cached CRL.
- If the new CRL is the same as the cached CRL (or the LDAP/HTTP server report it is the same (last modified headers), or local file – modified time), SV will perform the actions in step 3.b.ii
- If the CRL download is not successful
- If there's no extended CRL validity period configured (VC_ALLOW_EXPIRED_CRL=0) the validation fails and the next validation method (if configured) is used
- If an extended CRL validity period has been configured (VC_ALLOW_EXPIRED_CRL>0)
- and the current time falls within the extension (now > nextUpate and now < NextUpdate + VC_ALLOW_EXPIRED_CRL) the CRL is used.
- If the current time is past the validity extension (now > nextUpdate + VC_ALLOW_EXPIRED_CRL) the validation fails and the next validation method (if configured) is used.