Данная процедура поможет перенести или скопировать SSL сертификат, установленный на сервере IIS, на сервер с Apache.
Шаг 1 : Экспорт IIS сертификата в .PFX файл
Запускаем mmc.exe
Заходим в меню ‘Console’ и нажимаем ‘Add/Remove Snap-in’.
Нажимаем кнопку ‘Add’, выбираем ‘certificates’ и нажимаем ‘Add’.
Выбираем ‘Computer Account’ и нажимаем ‘Next’.
Выбираем ‘Local Computer’ и нажимаем ‘OK’.
Нажимаем ‘Close’ и затем ‘OK’.
Разворачиваем меню ‘Certificates’ и нажимаем на папку ‘Personal’.
Делаем правый клик на сертификате который будем экспортировать и выбираем ‘All tasks’ -> ‘Export’.
Появляется мастер. Убеждаемся что стоит галочка добавления приватного ключа и продолжаем выполнять инструкции мастера пока не будет сгенерирован .PFX файл.
Шаг 2 : Извлекаем приватный ключ
Экспортируем приватный ключ из .PFX файла.
$ openssl pkcs12 -in filename.pfx -nocerts -out key.pem
Шаг 3 : Извлекаем сертификат
Экспортируем сертификат из .PFX файла.
$ openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem
Шаг 4 : Удаляем секретную фразу
Следующая команда удалит пароль из приватного ключа, чтобы Apache не запрашивал его во время старта.
$ openssl rsa -in key.pem -out server.key
Дополнительные Шаги
Убедитесь в том, что следующие строки присутствуют в конфигурационном файле виртуального хоста и они соответствующие :
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /path/to/certificate/cert.pem
SSLCertificateKeyFile /patch/to/key/server.key
Не забудьте в конце перезапустить Apache.
service apache2 restart