Moving SSL Certificate from IIS to Apache

This procedure will help you to move or copy your SSL certificate, installed on an IIS server to an Apache server.

Step 1: Export IIS certificate into a .PFX file

  • Run mmc.exe
  • Click the ‘Console’ menu and then click ‘Add/Remove Snap-in’.
  • Click the ‘Add’ button and then choose the ‘certificates’ snap-in and click on ‘Add’.
  • Select ‘Computer Account’ then click ‘Next’.
  • Select ‘Local Computer’ and then click ‘OK’.
  • Click ‘Close’ and then click ‘OK’.
  • Expand the menu for ‘Certificates’ and click on the ‘Personal’ folder.
  • Right click on the certificate that you want to export and select ‘All tasks’ -> ‘Export’.
  • A wizard will appear. Make sure you check the box to include the private key and continue through with this wizard until you have a .PFX file.

Step 2: Extract the private key

Export the private key file from the .PFX file.

$ openssl pkcs12 -in filename.pfx -nocerts -out key.pem

Step 3: Extract the certificate file

Export the certificate file from the .PFX file.

$ openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem

Step 4: Remove the passphrase

This command removes the passphrase from the private key so Apache won’t prompt you for your passphase when it starts.

$ openssl rsa -in key.pem -out server.key

Extra Steps

Make sure that the following lines are present in your apache virtual host configuration file and they are correct:

SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /path/to/certificate/cert.pem
SSLCertificateKeyFile /patch/to/key/server.key

Don’t forget to restart apache at the end.

0 (0)
Article Rating (No Votes)
Rate this article
Attachments
There are no attachments for this article.
Comments
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
debian Install a newer kernel in Debian 9 (stretch) stable
Viewed 824 times since Sun, Sep 23, 2018
Nagrywanie sesji SSH do pliku
Viewed 1661 times since Thu, May 24, 2018
How to enable Proxy Settings for Yum Command on RHEL / CentOS Servers
Viewed 9021 times since Thu, Jul 19, 2018
6 rsync Examples to Exclude Multiple Files and Directories using exclude-from
Viewed 1768 times since Wed, Oct 31, 2018
Learn Linux System Auditing with Auditd Tool on CentOS/RHEL
Viewed 1728 times since Fri, Apr 5, 2019
Improve security with polyinstantiation
Viewed 10659 times since Fri, May 15, 2020
stunnel How To Encrypt Traffic to Redis with Stunnel on Ubuntu 16.04
Viewed 529 times since Sun, Dec 6, 2020
Securing /tmp and shm partitions
Viewed 1158 times since Fri, May 15, 2020
RHEL: Enabling standard ftp/telnet
Viewed 1600 times since Sun, May 27, 2018
OpenSSL: Find Out SSL Key Length – Linux Command Line
Viewed 2297 times since Mon, Feb 18, 2019