Mozilla supports two standard ways to retrieve information from a Certificate Authority (CA) concerning the revocation status of a certificate issued by that CA. That is, two ways to ask the server, is this cert that you issued revoked? or is it still good?
The two ways are: 1. Certificate Revocation List, a signed document from the CA that lists ALL the serial numbers of ALL of the certs issued by that CA that have been revoked. This can be huge, MEGABYTES! 2. OCSP. A protocol by which the client send the issuer name and serial number of one cert to the CA, and the CA replies with a signed message saying wether that cert (alone) is revoked or not.
mozilla supports both of these, but the user must takes steps to enable them. OCSP is controlled by a preference. You turn it on or off for all CAs. It is off by default, IINM.
The user has to manually initiate the first CRL download from a CA. After the first CRL has been downloaded succesfully, then mozilla will ask the user if he wants it to automatically fetch future CRLs from that CA. The user only needs to check the box, and click OK.
For clients (e.g. browsers) OCSP checking is probably preferred because OCSP responses are very small, unlike CRLs which can be MEGABYTES! For modem users, CRLs from the very large ISPs are not practical, because they're so big. OCSP messages are small and quick.
CRLs are great for servers that do client authentication, because they can
fetch one CRL and use it until the next CRL comes out, and do unlimited revocation checks with that one CRL. Since a given user is likely to
connect to the same server repeatedly, using a CRL is better than making
an OCSP request for every user every time the user contacts the server.
So, CRL fetching is turned off until the user manually fetches a CRL from the CA. CA's who want browser users to use their CRLs can facilitate that by having a link on their web server to download a CRL.
IINM, use of CRLs in "that other browser" is controlled by a single checkbox in a control panel, and is off by default.
OCSP is turned off by default in mozilla, because frankly, a lot of home-grown CAs put out certs that claimed they did OCSP, when they didn't. So, mozilla would get one of their certs (e.g. from an https server), try to contact the OCSP server (and fail), and then claim the cert is revoked (the RIGHT THING to do in that circumstance), much to the browser user's dismay!
Now, mozilla is being criticized by people unfamiliar with these issues for not enabling CRL fetching and OCSP use for all CAs by default.
I can think of a few things that might help this situation, and here are some suggestions:
1. Make it easier for users to fetch that first CRL from the CA. Create a button in cert manager's CA panel that says "try to fetch CRL". It would be unavailable (e.g. gray or gone) if the CA's cert doesn't include an extension that says how to get the CRL.
2. Make OCSP fetching be configured on a CA-by-CA basis, not globally. Take the global preference for OCSP out, and add an OCSP check box in the certificate manager in the panel of CA certs. It would be unavailable if the CA's cert doesn't have an extension that identifies the OCSP server.
These proposed changes may or may not require changes to NSS. They definitely would require changes to PSM.
-- Nelson B
_______________________________________________ mozilla-crypto mailing list [EMAIL PROTECTED] http://mail.mozilla.org/listinfo/mozilla-crypto