Rich Salz wrote:
> 
> Sorry, you're right. The cert-sign is okay, but the crl-sign cert
> which is signed by cert-sign fails to verify the sig.  We'd normally
> suspect the CA that generated the certs, but (1) it verifies when we
> use our hardware crypto; (2) it's not our CA. :)
> 
> So, we do believe there's a bug in openssl.
> 

As I mentioned before crl-sign is self signed so OpenSSL wont use the
public key of cert-sign to check it. I have however used one of my
utilities to manually verify the signature and force it to use other
certificate then it works.

It seems to be that this behaviour is implied by the extensions: that is
both certificates have the same subject and issuer names and they match
each other: crl-sign however doesn't have permission to sign
certificates but cert-sign does. Presumably this is intended to mean
that you use the public key of cert-sign to check the signature of
crl-sign. A bit odd but it makes sense I suppose: I wouldn't like to
guess as to which software will handle this properly though.

OpenSSL can't do this automatically at present because it ignores
certificate extensions and its X509_LOOKUP mechanism can only return
single matching certificates for a given subject name.

The easiest solution is to give crl-sign a different subject name: then
OpenSSL wont assume it is self signed and should use cert-sign to check
it.

Steve.
-- 
Dr Stephen N. Henson.   http://www.drh-consultancy.demon.co.uk/
Personal Email: [EMAIL PROTECTED] 
Senior crypto engineer, Celo Communications: http://www.celocom.com/
Core developer of the   OpenSSL project: http://www.openssl.org/
Business Email: [EMAIL PROTECTED] PGP key: via homepage.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to