Install SwissSign SSL Server Certificate in Apache
Views: 774
Install Apache (Ubuntu)
Install and enable Apache and SSL module on your computer, i.e. on Ubuntu:
- 
sudo apt-get install apache2 
If SSL is not yet enabled, (i.e. file /etc/apache2/mods-enabled/ssl.load does not exist or is not a link to /etc/apache2/mods-available/ssl.load), enable the ssl module:
- 
sudo a2enmod ssl 
Enable the default SSL configuration, this links the existing file /etc/apache2/sites-available/default-ssl to /etc/apache2/sites-enabled/default-ssl (if on your system, the example configuration has another name, just use that instead of default-ssl):
- 
sudo a2ensite default-ssl 
Configure Apache
Edit the configuration file, e.g. /etc/apache2/sites-enabled/default-ssl:
Change the following lines (use your certificate filename instead of filename):
| Old Value | 
|---|
SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem | 
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key | 
#SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt | 
| New Value | 
SSLCertificateFile    /etc/ssl/certs/filename.pem | 
SSLCertificateKeyFile /etc/ssl/private/filename.key | 
SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt | 
Install Certificate and Key
If you download you certificate from http://SwissSign.com, it is a *.p12-file (in PKCS#12 format). For Installation in Apache you need to split it into a key and certificate file.
In this tutorial, the filename of the downloaded certificate is filename.p12.
Get the plain keyfile (without password encryption) and the certificate from the PKCS#12 file:
- 
openssl pkcs12 -in filename.p12 -out filename.key -nodes -nocerts - 
openssl pkcs12 -in filename.p12 -out filename.pem -nodes -nokeys -clcerts - 
openssl pkcs12 -in filename.p12 -out server-ca.crt -nodes -nokeys -cacerts 
Move the files into the Apache configuration:
- 
sudo mv filename.pem /etc/ssl/certs/ - 
sudo mv filename.key /etc/ssl/private/ - 
sudo mkdir /etc/apache2/ssl.crt/ - 
sudo mv server-ca.crt /etc/apache2/ssl.crt/ 
Reload Apache – Done!
Reload the apache configuration and you’re already done:
- 
sudo service apache2 reload 
Remember: OpenSSL Certificate Conversions
- Extract Client Certificate File from PKCS#12 File:
 openssl pkcs12 -in filename.p12 -out filename.pem -nodes -nokeys -clcerts- Extract CA Certificate File from PKCS#12 File:
 openssl pkcs12 -in filename.p12 -out filename.pem -nodes -nokeys -cacerts- Extract Key File from PKCS#12 File:
 openssl pkcs12 -in filename.p12 -out filename.key -nodes -nocerts- Extract Password Encrypted Key File from PKCS#12 File:
 openssl pkcs12 -in filename.p12 -out filename.pem -nocerts- Change PKCS#12 Password:
 openssl pkcs12 -in old-filename.p12 -nodes > x && openssl pkcs12 -export -in x -out new-filename.p12; rm x- Generate PKCS#12 File from Key and Certificate Files:
 openssl pkcs12 -export -in filename.pem -inkey filename.key -out filename.p12- Download certificate with Certificate Encoding PEM, deselect PKCS#7 Format and select Include Certificate Chain.