To support encrypted HTTP (HTTPS) downloads, Wget must be compiled with an external SSL library, currently OpenSSL. If Wget is compiled without SSL support, none of these options are available.
Specifying SSLv2, SSLv3, or TLSv1 forces the use of the corresponding protocol. This is useful when talking to old and buggy SSL server implementations that make it hard for OpenSSL to choose the correct protocol version. Fortunately, such servers are quite rare.
As of Wget 1.10, the default is to verify the server's certificate against the recognized certificate authorities, breaking the SSL handshake and aborting the download if the verification fails. Although this provides more secure downloads, it does break interoperability with some sites that worked with previous Wget versions, particularly those using self-signed, expired, or otherwise invalid certificates. This option forces an “insecure” mode of operation that turns the certificate verification errors into warnings and allows you to proceed.
If you encounter “certificate verification” errors or ones saying that “common name doesn't match requested host name”, you can use this option to bypass the verification and proceed with the download. 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. It is almost always a bad idea not to check the certificates when transmitting confidential or important data.
Without this option Wget looks for CA certificates at the system-specified locations, chosen at OpenSSL installation time.
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.
On such systems the SSL library needs an external source of randomness
to initialize. Randomness may be provided by EGD (see
--egd-file below) or read from an external source specified by
the user. If this option is not specified, Wget looks for random data
in $RANDFILE
or, if that is unset, in $HOME/.rnd. If
none of those are available, it is likely that SSL encryption will not
be usable.
If you're getting the “Could not seed OpenSSL PRNG; disabling SSL.” error, you should provide random data using some of the methods described above.
OpenSSL allows the user to specify his own source of entropy using the
RAND_FILE
environment variable. If this variable is unset, or
if the specified file does not produce enough randomness, OpenSSL will
read random data from EGD socket specified using this option.
If this option is not specified (and the equivalent startup command is not used), EGD is never contacted. EGD is not needed on modern Unix systems that support /dev/random.