SSL - Certificate
Links
Usage
Note: Browsers expect the server’s hostname to match the value in the commonName (CN) field of the certificate. If it does not then you get a warning.
Step 1
Create your RSA Private Key:
openssl genrsa -des3 -out server.key 1024
This command will prompt you for a pass-phrase and then store the key in the
file server.key.
Step 2
Remove the pass-phrase from the key (to stop Apache asking for the pass-phrase each time the web server is started):
openssl rsa -in server.key -out server.pem
Step 3
Generate a Certificate Signing Request (which could be sent to Thawte or
Verisign). You will be prompted for the Common Name. It is important that
this field be filled in with the fully qualified domain name of the server to
be protected by SSL. If the website to be protected will be
https://www.server.com, then enter www.server.com at this prompt:
openssl req -new -key server.pem -out server.csr
Note: On Windows you might get the following error:
Unable to load config info from /usr/local/ssl/openssl.cnf
Unable to load config info from /usr/local/ssl/openssl.cnf
To solve the problem, add a config parameter with the path to your Apache
openssl.cnf file e.g:
openssl req -new -key server.pem -out server.csr -config C:\tools\apache2.2\conf\openssl.cnf
Step 4
To generate a temporary certificate which is good for 365 days:
openssl x509 -req -days 365 -in server.csr -signkey server.pem -out server.crt
Step 5
Linux
Copy the key and certificate to the Apache SSL folder:
copy server.crt C:\tools\apache2.2\conf\
copy server.pem C:\tools\apache2.2\conf\
Windows
Copy the key and certificate to the Apache SSL folder:
cp server.crt /etc/apache2/ssl/
cp server.pem /etc/apache2/ssl/
Step 6
Linux
Change the Apache SSL configuration. Edit:
/etc/apache2/modules.d/41_mod_ssl.default-vhost.conf
and edit the SSLCertificateKeyFile to point to the pem file:
SSLCertificateKeyFile conf/ssl/server.pem
Windows
Edit the conf/extra/httpd-ssl.conf file to look at the pem file (rather
than the key file):
SSLCertificateKeyFile "C:/tools/apache2.2/conf/server.pem"