From: Igor Galić Errors such as The default certificate format for SSLeay/OpenSSL is PEM, which is simply
+ The default certificate format for OpenSSL is PEM, which is simply
Base64 encoded DER, with header and footer lines. For some applications
(e.g. Microsoft Internet Explorer) you need the certificate in plain DER
format. You can convert a PEM file
- $ openssl genrsa -des3 -out server.key 1024
+ $ openssl genrsa -des3 -out server.key 2048
Please backup this server.key file and the
pass-phrase you entered in a secure location.
@@ -417,7 +417,7 @@ Certificate for testing purposes?
- $ openssl genrsa -des3 -out server.key 1024
+ $ openssl genrsa -des3 -out server.key 2048
Please backup this host.key file and the
pass-phrase you entered in a secure location.
@@ -528,17 +528,8 @@ Certificate for testing purposes?
$ openssl req -noout -modulus -in server.csr | openssl md5Why do connections fail with an "alert
-bad certificate" error?
-OpenSSL: error:14094412: SSL
- routines:SSL3_READ_BYTES:sslv3 alert bad certificate in the SSL
- logfile, are usually caused by a browser which is unable to handle the server
- certificate/private-key. For example, Netscape Navigator 3.x is
- unable to handle RSA key lengths not equal to 1024 bits.How can I convert a certificate from PEM to DER format?
-cert.pem into the
@@ -583,9 +574,6 @@ Does this mean the username/password is being sent unencrypted?Why do I get lots of random SSL protocol
@@ -622,13 +610,9 @@ sometimes take up to 30 seconds to establish a connection?
least the following ciphers are supported:
To determine the actual list of ciphers available, you should run @@ -651,7 +635,7 @@ error when connecting to my newly installed server?
Either you have made a mistake with your
SSLCipherSuite
directive (compare it with the pre-configured example in
- httpd.conf-dist) or you chose to use DSA/DH
+ extra/httpd-ssl.conf) or you chose to use DSA/DH
algorithms instead of RSA when you generated your private key
and ignored or overlooked the warnings. If you have chosen
DSA/DH, then your server cannot communicate using RSA-based SSL
@@ -777,47 +761,6 @@ HTTPS to an Apache+mod_ssl server with Microsoft Internet Explorer (MSIE)?
make these changes - they will affect all your clients, MSIE
or otherwise.
The next problem is that 56bit export versions of MSIE 5.x - browsers have a broken SSLv3 implementation, which interacts badly - with OpenSSL versions greater than 0.9.4. You can accept this and - require your clients to upgrade their browsers, you can downgrade to - OpenSSL 0.9.4 (not advised), or you can work around this, accepting - that your workaround will affect other browsers too:
-SSLProtocol all -SSLv3
will completely disables the SSLv3 protocol and allow those - browsers to work. A better workaround is to disable only those - ciphers which cause trouble.
-SSLCipherSuite
- ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
-
This also allows the broken MSIE versions to work, but only removes the - newer 56bit TLS ciphers.
- -Another problem with MSIE 5.x clients is that they refuse to connect to
- URLs of the form https://12.34.56.78/ (where IP-addresses are used
- instead of the hostname), if the server is using the Server Gated
- Cryptography (SGC) facility. This can only be avoided by using the fully
- qualified domain name (FQDN) of the website in hyperlinks instead, because
- MSIE 5.x has an error in the way it handles the SGC negotiation.
And finally there are versions of MSIE which seem to require that
- an SSL session can be reused (a totally non-standard-conforming
- behaviour, of course). Connecting with those MSIE versions only work
- if a SSL session cache is used. So, as a work-around, make sure you
- are using a session cache (see the SSLSessionCache directive).
- This usually occurs when you have created a new server certificate for - a given domain, but had previously told your browser to always accept - the old server certificate. Once you clear the entry for the old - certificate from your browser, everything should be fine. Netscape's SSL - implementation is correct, so when you encounter I/O errors with Netscape - Navigator it is usually caused by the configured certificates.
You should always provide at least the following information:
httpd -v. The OpenSSL version can be
determined by running openssl version. Alternatively, if
@@ -901,14 +831,14 @@ provide when writing a bug report?
single step.
configure command line you used.
$ openssl genrsa -des3 -out server.key 1024$ openssl genrsa -des3 -out server.key 2048server.key file and the
pass-phrase you entered in a secure location.
@@ -423,7 +423,7 @@ Certificate for testing purposes?
$ openssl genrsa -des3 -out server.key 1024$ openssl genrsa -des3 -out server.key 2048host.key file and the
pass-phrase you entered in a secure location.
@@ -534,17 +534,8 @@ Certificate for testing purposes?
$ openssl req -noout -modulus -in server.csr | openssl md5
Errors such as OpenSSL: error:14094412: SSL
- routines:SSL3_READ_BYTES:sslv3 alert bad certificate in the SSL
- logfile, are usually caused by a browser which is unable to handle the server
- certificate/private-key. For example, Netscape Navigator 3.x is
- unable to handle RSA key lengths not equal to 1024 bits.
The default certificate format for SSLeay/OpenSSL is PEM, which is simply +
The default certificate format for OpenSSL is PEM, which is simply
Base64 encoded DER, with header and footer lines. For some applications
(e.g. Microsoft Internet Explorer) you need the certificate in plain DER
format. You can convert a PEM file cert.pem into the
@@ -590,9 +581,6 @@ Does this mean the username/password is being sent unencrypted?
To determine the actual list of ciphers available, you should run @@ -659,7 +643,7 @@ error when connecting to my newly installed server?
Either you have made a mistake with your
httpd.conf-dist) or you chose to use DSA/DH
+ extra/httpd-ssl.conf) or you chose to use DSA/DH
algorithms instead of RSA when you generated your private key
and ignored or overlooked the warnings. If you have chosen
DSA/DH, then your server cannot communicate using RSA-based SSL
@@ -784,50 +768,8 @@ HTTPS to an Apache+mod_ssl server with Microsoft Internet Explorer (MSIE)?all your clients, MSIE
or otherwise.
The next problem is that 56bit export versions of MSIE 5.x - browsers have a broken SSLv3 implementation, which interacts badly - with OpenSSL versions greater than 0.9.4. You can accept this and - require your clients to upgrade their browsers, you can downgrade to - OpenSSL 0.9.4 (not advised), or you can work around this, accepting - that your workaround will affect other browsers too:
-will completely disables the SSLv3 protocol and allow those - browsers to work. A better workaround is to disable only those - ciphers which cause trouble.
-SSLCipherSuite
- ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
-
This also allows the broken MSIE versions to work, but only removes the - newer 56bit TLS ciphers.
- -Another problem with MSIE 5.x clients is that they refuse to connect to
- URLs of the form https://12.34.56.78/ (where IP-addresses are used
- instead of the hostname), if the server is using the Server Gated
- Cryptography (SGC) facility. This can only be avoided by using the fully
- qualified domain name (FQDN) of the website in hyperlinks instead, because
- MSIE 5.x has an error in the way it handles the SGC negotiation.
And finally there are versions of MSIE which seem to require that
- an SSL session can be reused (a totally non-standard-conforming
- behaviour, of course). Connecting with those MSIE versions only work
- if a SSL session cache is used. So, as a work-around, make sure you
- are using a session cache (see the
- This usually occurs when you have created a new server certificate for - a given domain, but had previously told your browser to always accept - the old server certificate. Once you clear the entry for the old - certificate from your browser, everything should be fine. Netscape's SSL - implementation is correct, so when you encounter I/O errors with Netscape - Navigator it is usually caused by the configured certificates.
-You should always provide at least the following information:
httpd -v. The OpenSSL version can be
determined by running openssl version. Alternatively, if
@@ -912,14 +840,14 @@ provide when writing a bug report?
single step.