Hello Hugo:

On July 16, 2010 02:31:53 pm Hugo Garza wrote:
> Hello Stephen, thank you for your comment that made the verification pass.
> But I'm a bit confused now.
> 
> Just as a demo I moved these certs to my windows computer and installed the
> Root CA into my current user's Trusted Root Certificate Authorities folder
> using the MMC certificates snap in. Then I double click the inter CA
> certificate and Windows says it's OK. But when I double click the users
> certificate it says that it doesn't have enough information to verify the
> certificate.
> 
> This is strange to me, because I can visit lots of websites that I know I
> don't have the intermediate CA installed it all works. For instance I can
> visit gmail and it says the root is Class 3 Public Primary Certification
> Authority by Verisign, and I can see that it's installed in my
> windows Trusted Root Certificate Authorities. The next certificate is
> Thawte SGC CA which is no where in my Trusted Root Certificate Authorities
> and finally is mail.google.com and windows says it's valid.
> 
> Am I missing some extension when I create the end user certificate or what
> part of this puzzle is escaping my grasp.
> 
Yes, you probably are missing the "AuthorityInformationAccess" extension in 
the client certificate. This is an X.509 extension that contains, in the 
"caIssuers" field, a URI that points to a location that an application that is 
performing path construction may use to download the certificate for that 
certificate's issuer. Inside of THAT certificate, there should be another 
"AuthorityInformationAccess" extension which points to THAT Certificates 
issuer all the way up the line to a self signed certificate that SHOULD NOT 
have an AIA field.

For a full description, including the formatting of the certificate to be 
downloaded, please see RFC5280.

As an aside, even with an AIA extension, the OpenSSL library (and by 
extension, the command line tool) will NOT fetch intermediate certificates for 
you (which is why you needed to put both certs in the cafile.pem) - this is 
because it doesn't have any code to be an HTTP or LDAP client (probably a good 
thing:). If you want to do path construction, you have to write an application 
that uses OpenSSL for the crypto, but your application has to handle all of 
the network access.

Have fun!

-- 
Patrick Patterson
President and Chief PKI Architect,
Carillon Information Security Inc.
http://www.carillon.ca
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to