Как найти свой Private Key на сервере

Установка сертификата не является часто выполняемой задачей. Вполне вероятно, вы не касались вопроса SSL конфигурации сервера с тех пор как установили сертификат год назад или даже несколько. Или, может, вы недавно приобрели еще несколько серверов. В таком случае, вполне понятно, что вы можете не знать или забыть где находится ваш приватный ключ (private key).
Данная статья поможет вам найти месторасположение вашего приватного ключа Мы рассмотрим наиболее распостраненные операционные системы ниже, а для начала рассмотрим основные аспекты, касающиеся private key.

Что такое закрытый ключ?
Закрытый ключ создается вами - владельцем сертификата - когда вы запрашиваете Ваш сертификат с запросом подписи сертификата (CSR). Центр сертификации, предоставляющий ваш сертификат (например, DigiCert), не создает или не имеет ваш закрытый ключ.

Если вы еще не установили свой сертификат, наиболее вероятное расположение вашего приватного ключа - на компьютере или на сервере где вы генерировали запрос CSR.
Когда вы создавали CSR, вы должны были получить запрос от сервера сохранить два файла. Вы можете запустить в OpenSSL специальную команду чтобы найти папку, в которую сохранились файлы с ключами. По умолчанию это /usr/local/ssl by default. https://www.digicert.com/ssl-support/openssl-quick-reference-guide.htm
Для Windows (IIS) операционная система имеет специальный менеджер который поможет вам создать запрос и затем сделать экспорт ключа ).

Как найти месторасположение приватного ключа. Если ваш сертификат уже установлен, выполните следующие действия, чтобы найти файл секретного ключа для этих популярных операционных систем.

Apache
Ваш файл private key будет указан в главное конфигурационном файле Apache, то есть httpd.conf или apache2.conf Директива SSLCertificateKeyFile будет определять путь на вашем сервере, где хранится ваш ключ.

OpenSSL, самая популярная библиотека SSL на Apache, по умолчанию сохранит секретные ключи в / usr/local/ssl. Чтобы найти OPENSSLDIR и убедиться, что ключи сохранились в этой папке запустите специальную команду openssl version -a.

Nginx
Вы можете найти месторасположение приватного ключа в файле на сайте в вашем виртуальном хостинге. Перейдите к серверному блоку для этого сайта (по умолчанию в каталоге /var/www /). Откройте главный файл конфигурации для сайта и выполните поиск директива ssl_certificate_key, которая будет предоставлять закрытый ключ (некоторые пользователи имеют отдельный файл конфигурации для своего SSL, например ssl.conf).

Windows (IIS)
На серверах Windows ОС управляет вашими файлами сертификатов для вас в скрытой папке, но вы можете получить закрытый ключ, экспортировав файл «.pfx», содержащий сертификаты и закрытый ключ.

Откройте консоль Microsoft Management Console (MMC). В корневой консоли Console Root (локальный компьютер) сертификат вашего сервера будет находиться в подпапке Personal или Web Server.
Найдите и щелкните правой кнопкой мыши сертификат, который имеет название домена (Common Name), выберите Export и следуйте инструкциям.
В результате вы получите файл .pfx. Подробные, пошаговые инструкции здесь.
Дальнейшие ваши действия зависят от того что вы планируете получить в итоге.
Если вы хотите выделить закрытый ключ в отдельный файл, вам надо конвертировать файл.pfx . Если вы просто хотите архивировать ключ и установить на другом сервере Windows, то вам не нужно преобразовывать формат и использовать его в таком виде как он есть.
Если вы будете использовать другую платформу, например Apache, следует преобразовать формат .pfx, чтобы отделить файл .crt / .cer и .key с помощью OpenSSL.

Где еще может быть Private Key?
Если вы выполнили все инструкции, но вам так и не удалось найти свой ключ, возможно, вы просто искали не там.
Если вы работаете с сервером и соединение HTTPS успешно включено, это значит что приватный ключ находится где-то на этом сервере (или в месте доступном для этого сервера), иначе HTTPS просто не будет работать. Здесь мы можем рассматривать только сценарии по умолчанию - возможно, ваша организация использует специальную пользовательскую конфигурацию. Вы можете попробовать выполнить на сервере поиск файла «.key» или выполнить инструкцию по установке нового сертификата, которая на определенном шаге должна включать указание местонахождения приватного ключа. На некоторых платформах OpenSSL сохранит файл .key в том же каталоге, откуда была запущена команда -req.
Если вы еще не установили SSL сертификат и не можете найти приватный ключ, может быть такое что его нет на сервере (находится в другом месте или удален).
Если вы создали запрос CSR, но не можете найти файл private key, проще всего перевыпустить сертификат заново чтобы сохранить закрытый ключ на этот раз в известном вам месте.
Начните с создания нового CSR запроса, зафиксируйте для себя где сохранен приватный ключ и убедитесь, что он соответствует новому запросу.
Оформите перевыпуск сертификата (это является бесплатной услугой) и установите полученный SSL сертификат на сервер.