diff options
author | Rob Austein <sra@hactrn.net> | 2008-06-23 17:43:42 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2008-06-23 17:43:42 +0000 |
commit | 913823f9aa6dd817a60e0bbed3e47cf084a33a56 (patch) | |
tree | 941b3632ab4cf6d6e9823ade039913e45b0a9da7 | |
parent | 2670d1e5d43a646d15616fb137c0a96569e8770a (diff) |
Checkpoint
svn path=/rcynic/rcynic.c; revision=1936
-rw-r--r-- | rcynic/rcynic.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/rcynic/rcynic.c b/rcynic/rcynic.c index 0a480461..33c376cf 100644 --- a/rcynic/rcynic.c +++ b/rcynic/rcynic.c @@ -1893,7 +1893,7 @@ static X509 *check_cert(rcynic_ctx_t *rc, char path[FILENAME_MAX]; X509 *x; - assert(certs); + assert(rc && uri && certs && issuer && subj && prefix); /* * If target file already exists and we're not here to recheck with @@ -2019,6 +2019,15 @@ static void walk_cert(rcynic_ctx_t *rc, * memset() it or call parse_cert() where we don't now, as * needed. * + * Hmm, no, we can't count on the SIA pointers, and the EE certs + * might or might not already be bundled into the ROAs. The ROA + * spec says we're supposed to figure this out by looking at the + * SignerInfos field in the CMS. By happy coincidence, the + * SignerInfos is required by profile to use SHA-256, ie, the + * same hash we already have for everything in the manifest. + * So, in theory, we can just look up the right EE cert in the + * manifest if it's not already in the CMS. + * * Separate problem of handling objects that are neither certs * nor ROAs. At the moment the only such is the CRL that covers * this collection of certs, which we should be able to check |