[pca] back and annoyed
Don O'Malley
Don.Omalley at Sun.COM
Wed Aug 19 12:20:10 CEST 2009
HI Martin,
Here's some internal analysis of the certificate issues (it's pretty
much what you have below)...
Thought it was worth passing on all the same.
Best,
-Don
I was able to get the --ca-certificate switch to work using a file I
created called cacerts.pem and then subsequently adding the
--ca-certificate=<path_to_file>/cacerts.pem to the regular wget command
line.
The cacerts.pem that I created is a concatenation of the two CA certs
that are required, namely:
CN=GTE CyberTrust Global Root
CN=VeriSign Class 3 Secure Server CA - G2
As mentioned, it is also possible to just use the --no-check-certificate
option, though that may be of concern to some customers.
Thanks,
Scott
> I have begun to dig a bit deeper on the client side to see what is
> going on. Both domains, getupdates2.sun.com and a248.e.akamai.net, are
> signed by trusted Certificate Authorities. Verisign for ours and GTE
> Cybertrust for the case of Akamai. The original getupdates1.sun.com is
> "self-signed" in the chain because there is an intermediary
> certificate that is used to directly sign the cert which is owned by
> SunPKI. That is a requirement of Sun security and we have only until
> the end of this calendar year before the exemption for
> getupdates2.sun.com expires and we are required to replace the current
> Verisign-direct cert with one that chains up to Verisign via the
> SunPKI intermediate.
>
> From the wget manual, I see that the Certificate Authorities are
> defined during the OpenSSL installation. What is not mentioned there
> (or in the OpenSSL documentation) is that there is no default
> ca-certificate file, in other words no bundle. So it doesn't matter
> what ssl site you attempt to go to nor from whom their certificate is
> issued. Unless you take specific action during the installation of
> OpenSSL or in the command line wget invocation, you won't trust the
> SSL cert.
>
> Here is the info from wget manual
> (http://www.gnu.org/software/wget/manual/html_node/HTTPS-_0028SSL_002fTLS_0029-Options.html)
>
>
> ‘--ca-certificate=file’
> Use file as the file with the bundle of certificate authorities (“CA”)
> to verify the peers. The certificates must be in PEM format.
>
> Without this option Wget looks for CA certificates at the
> system-specified locations, chosen at OpenSSL installation time.
>
>
> ‘--ca-directory=directory’
> Specifies directory containing CA certificates in PEM format. Each
> file contains one CA certificate, and the file name is based on a hash
> value derived from the certificate. This is achieved by processing a
> certificate directory with the c_rehash utility supplied with OpenSSL.
> Using ‘--ca-directory’ is more efficient than ‘--ca-certificate’ when
> many certificates are installed because it allows Wget to fetch
> certificates on demand.
>
> Without this option Wget looks for CA certificates at the
> system-specified locations, chosen at OpenSSL installation time.
>
> I'm looking now on an S10 box we have in the lab to see if I can find
> a pre-existing cacerts file that is in the proper format and that
> includes the necessary CA references so that we can plug that into the
> wget command line. I'll report back as I learn more. For the interim,
> here is an interesting post I found on the subject.
> http://curl.haxx.se/mail/archive-2003-07/0036.html
>
> Scott
Martin Paul wrote:
> Don O'Malley wrote:
>> I have confirmed that the patchdiag.xerf will remain on SunSolve.
>
> Thanks. I guess I will make pca use HTTPS for the xref file when wget
> supports it, and HTTP if it doesn't (as a fallback) and deprecate
> --ssprot (as soon as I know what's going to happen with the READMEs).
>
>> I have version 1.10.2 installed and always use "--no-check-certificate"
> > with wget. I'm not seeing any issue with this.
>
> What I meant is that it shouldn't be necessary to use
> --no-check-certificate with wget at all :)
>
> Somebody may correct me, but the main reason to use HTTPS over HTTP
> (esp. when downloading patches) is the server authentication, so you
> can be sure that you are getting the patches from Sun and not from
> some rogue server. By not checking the certificate this is defeated.
> The wget manual says:
>
> Only use this option if you are otherwise convinced of the site's
> authenticity, or if you really don't care about the validity of its
> certificate.
>
> Now sunsolve.sun.com *does* have a certificate which is signed by one
> of the usual certificate authorities. All browsers include these root
> CA certs, so verification works fine there. openssl/wget on Linux
> distributions come with the root CA certs by default, too.
>
> In pca I'm using a workaround - I include the necessary root CA cert
> in pca itself, and point wget at it with its --ca-certificate option.
> That's why I don't need to use --no-check-certificate.
>
> Of course there's a second advantage with using HTTPS - encryption.
> But as the files which are transferred (patches) aren't really secret
> - anyone with a support contract can access them - it's less important
> than authentication.
>
> Martin.
>
More information about the pca
mailing list