diff options
author | Rob Austein <sra@hactrn.net> | 2006-09-25 17:11:54 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2006-09-25 17:11:54 +0000 |
commit | 40852ca5490d047842428412f1d4d35d9e8a385a (patch) | |
tree | d42c05bbbcdd1c318ab653350d824d8daa49d042 | |
parent | bb02a32d808dd79035ed96ba1f64832615a3268f (diff) |
Some notes on current debugging mess.
svn path=/rcynic/README; revision=319
-rw-r--r-- | rcynic/README | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/rcynic/README b/rcynic/README new file mode 100644 index 00000000..a0dbf484 --- /dev/null +++ b/rcynic/README @@ -0,0 +1,27 @@ +-*- Text -*- +$Id$ + +Notes on current debugging mess: + +Having some trouble checking CRLs. As far as the code itself is +concerned, we're dumping core calling X509_STORE_get_by_subject(), +because we're not using a real X509_STORE, just a trusted_stack. + +But this is just the symptom. The real issue goes deeper, and is +architectural. We're doing a minmimal signature check on the CRL, +and accepting the CRL object if that works. There are a bunch of +other checks we probably ought to be doing. x509_vfy.c does them as +part of checking a certificate chain. + +Arguably, the right thing to do is for us to accept a CRL +provisionally, check the cert that led us to load the CRL, and accept +the CRL if the X509_validate_cert() call on the cert checks out. + +We still have a mess trying to figure out which CRL to use. The +URI-based code knows perfectly well which one to use, but the library +is using certificate names. If we believe that we really only care +about checking the leaf CRL at any given time, we can turn off +X509_V_FLAG_CRL_CHECK_ALL and just use X509_V_FLAG_CRL_CHECK. For +that matter, we really only need the leaf certificate in the CRL stack +for this, so maybe we cut through all this complexity by loading the +provisional CRL into a one-entry stack each time. |