Related: I want to call out Firefox mobile for atrociously bad security UX around bad certs. The cert error message reads: "Fennec does not trust https : // hachyderm.io / because its certificate issuer is unknown, the certificate is self-signed, or the server is not sending the correct intermediate certificates."
This muddling of multiple error conditions, which becomes an outright LIE when the actual error is the main one that appears in the real world (expiration or wrong clock), makes it impossible to act on and fuels wrongful fears that a site has been compromised.
On another level, while standard TLS handling of expiry is reasonable in a standalone connection context, it's bullshit to begin with in a web context.
There is no reasonable sense in which a certificate that I trusted 5s ago is suddenly untrusted because 5s passed.
Browser UX should be something like continuing to trust an expired cert for up to 3-4 days (whatever expected reasonable turnaround time for an admin to act is) as long as:
- The certificate is identical to the one you last trusted it as (in particular, this ensures no rollback).
- You accessed the site within a few days prior to expiry (this ensures compromised certs can't be used against infrequent visitors long after compromise).
Along with a clear UI element explaining that the site has failed to renew its certificate in time but that this does not indicate a compromise, and that it will stop working at [date and time] unless they resolve this.
@dalias I am not sure I agree. There may be some legitimate interest in a shorter time to reduce CRL size, but also certificates should in most cases be revoked if a domain is transferred to an unrelated party. The status quo is even worse, forcing people to age domains and make guesses.
Also, what the registrar says is the literal source of record for domain ownership.
But with DANE, this would all happen automatically and certificate expiration would just not be a thing.