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
OpenSSL: Find Out SSL Key Length – Linux Command Line
Viewed 6133 times since Mon, Feb 18, 2019
ZFS: Create a new zfs filesystem
Viewed 2287 times since Sun, Jun 3, 2018
stunnel How To Encrypt Traffic to Redis with Stunnel on Ubuntu 16.04
Viewed 1782 times since Sun, Dec 6, 2020
HP-UX - Stunnel Configuration
Viewed 2150 times since Fri, Sep 28, 2018
Applescript: Run or Call a Shell Script
Viewed 3924 times since Tue, Aug 6, 2019
RHEL: Crash kernel dumps configuration and analysis on RHEL 7
Viewed 6719 times since Sat, Jun 2, 2018
PROCESSOR AND MEMORY INFORMATION
Viewed 5311 times since Sat, Jun 2, 2018
How to Synchronize Directories Using Lsyncd in Linux
Viewed 13006 times since Wed, Oct 31, 2018
RHEL: Route network packets to go out via the same interface they came in
Viewed 2666 times since Sat, Jun 2, 2018
Linux Cluster Tutorial
Viewed 1720 times since Sat, Sep 29, 2018