Перенос SSL сертификата из IIS в Apache

Данная процедура поможет Вам перенести или скопировать 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.