CRYPT_E_REVOCATION_OFFLINE — the revocation function could not check revocation
The machine could not download a CRL or reach an OCSP responder, so it will not trust the certificate even though the certificate is fine.
What you see
TLS connections, code signing checks, RDP or IIS bindings fail with 0x80092013. Common on locked-down or air-gapped servers, and on servers behind a proxy that the system account cannot use.
What is actually wrong
The CRL distribution point in the certificate is unreachable — no internet, a proxy that requires authentication, an internal CA whose CDP points at a decommissioned server, or an expired CRL that was never republished.
Codes and articles
Fixes (2)
Republish the CRL and fix the distribution point
An internal AD CS certificate. The most common cause by far is simply an expired CRL.
On the failing machine, read what the certificate says its CDP is, and test it.
certutil -URL C:\path\to\cert.cerThe URL Retrieval Tool tests every CDP and OCSP URL in the chain and shows exactly which one fails, which saves guessing.
On the CA, check when the CRL expires.
certutil -getreg CA\CRLPeriodcertutil -getreg CA\CRLPeriodUnitscertutil -CRL
Publish a fresh CRL.
certutil -CRLCopy it to every location listed as a CDP — an HTTP path is the one that matters for non-domain clients.
Verify the chain now builds on the failing machine.
certutil -verify -urlfetch C:\path\to\cert.cer
Give the system account a route to the revocation endpoints
A public certificate on a server behind a proxy or with no outbound access.
Check the WinHTTP proxy, which is what system services use — it is not the same as the Internet Options proxy.
netsh winhttp show proxySet it if the server needs one.
netsh winhttp set proxy proxy-server="http://proxy.example.local:8080" bypass-list="*.example.local;<local>"Revocation checks are made by the system, not by a signed-in user, so a per-user proxy configuration does nothing for them.
Allow the CRL and OCSP hostnames through the firewall on TCP 80. They are plain HTTP by design — CRLs are signed, so they do not need TLS.
Blocking outbound 80 while allowing 443 is a common policy that breaks revocation checking specifically.
Clear the cached CRLs and retest.
certutil -urlcache CRL deletecertutil -urlcache OCSP deletecertutil -verify -urlfetch C:\path\to\cert.cer
Where this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.