Closed
Bug 167649
Opened 23 years ago
Closed 23 years ago
CRL cache needs to be invalidated when object is imported
Categories
(NSS :: Libraries, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: julien.pierre, Assigned: julien.pierre)
Details
Attachments
(1 file)
|
12.20 KB,
patch
|
Details | Diff | Splinter Review |
Currently, the softoken does not change the PKCS#11 object ID when an object
changes. See bug#162753 . Therefore, we don't notice the changes.
The fix is to trap the call that stores the CRL into the token, and invalidate
the cache at that step.
| Assignee | ||
Comment 1•23 years ago
|
||
This is a patch which implements the clearing of the cache in crl_storeCRL.
I enabled it for all tokens, not just softoken.
It also solves some other issues :
1) the cache could never empty itself, even when CRLs got deleted. It could
only grow.
2) better algorithm for handling errors. The errors would mostly show up if a
CRL existed in multiple tokens, which is a rare case. But there was also a case
of false positive (check for PR_TRUE on the invalid bit, where it is a bitflag)
which affected 162983 depending on the error type.
3) better fix for 166714 . There was an issue in a rare case : if a CRL got
updated, and the first lookup after the update was done by SEC_FindCrlByName
rather than CERT_CheckCrl, then we could not verify the CRL signature because
we didn't have the proper time to do the cache, even though we had the issuer
cert. The cache state would thus become invalid and never get cleared. This is
because we had the issuer already, and the previous fix relied on the issuer
being missing and added to refresh the cache. The new fix uses "time=0" as the
indicator that we should not cache the failure to verify the signature, and
that we need to try again as soon as we get a valid time and issuer cert to do
it against.
Checking in certi.h;
/cvsroot/mozilla/security/nss/lib/certdb/certi.h,v <-- certi.h
new revision: 1.4; previous revision: 1.3
done
Checking in crl.c;
/cvsroot/mozilla/security/nss/lib/certdb/crl.c,v <-- crl.c
new revision: 1.22; previous revision: 1.21
done
| Assignee | ||
Comment 2•23 years ago
|
||
Fix checked in.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•