Где взять приватный ключ сертификата
Перейти к содержимому

Где взять приватный ключ сертификата

  • автор:

Откуда взять данные для установки SSL-сертификата

Часть данных, которые необходимы для установки SSL-сертификата, генерируется при заказе SSL. Другая часть становится доступна после выпуска и активации сертификата: приходит в письме на контактный email услуги, а также содержится в личном кабинете в карточке услуги.

При заказе SSL

При заказе SSL-сертификата генерируются:

CSR-запрос — также будет доступен в личном кабинете после активации сертификата.
приватный ключ (Private Key) — доступен только на этапе заказа.

Обратите внимание: приватный ключ (Private Key) не хранится на серверах 2DOMAINS, поэтому его нужно сразу сохранить на личный ПК. Для этого скопируйте Private Key и вставьте в пустой текстовый файл. Затем сохраните ключ в формате .txt или .key.

Если вы потеряете или скомпрометируете приватный ключ, текущий SSL-сертификат использовать не удастся. Вы сможете только переиздать SSL-сертификат. Для этого обратитесь в службу поддержки.

1. Скопируйте Private Key.
2. Откройте блокнот и вставьте скопированный текст.
3. Откройте вкладку Файл и выберите Сохранить:

4. Выберите папку, в которую хотите сохранить файл. В поле «Имя файла» напишите «name.key» и кликните Сохранить:

После выпуска и активации SSL

В письме на email услуги

Обратите внимание: еmail услуги, на который пришло письмо с данными, можно посмотреть в личном кабинете. Он указан в карточке услуги SSL-сертификата, в графе «Данные администратора»:

В письме приходят:

  • SSL-сертификат;
  • Корневой сертификат;
  • Промежуточный сертификат (используется в цепочке с корневым сертификатом. Это значит, что при установке сначала вставляется корневой сертификат, а затем с новой строки промежуточный).

Фрагмент письма с данными

В карточке услуги

В личном кабинете данные хранятся в виде файлов, которые вы можете скачать, а затем загрузить на этапе установки:

  • SSL-сертификат;
  • Корневой сертификат;
  • CSR-запрос;
  • Промежуточный сертификат (используется в цепочке с корневым сертификатом. Это значит, что при установке сначала вставляется корневой сертификат, а затем с новой строки промежуточный).

Чтобы скачать файлы:

1. В личном кабинете перейдите в карточку услуги SSL-сертификата:

2. Нажмите на значок стрелки напротив названия нужного документа:

Готово.

Настройка HTTPS для чайников

HTTPS (Hypertext Transfer Protocol Secure) — расширение протокола HTTP поддерживающее шифрование. Данные, передаваемые по протоколу HTTPS «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивается защита этих данных. В отличие от HTTP для HTTPS по умолчанию используется TCP-порт 443.

В данной статье я расскажу о том, как бесплатно (90 дней) получить сертифицированные SSL ключи для своего сервера и настроить HTTPS соединения. На данный момент в русскоязычных источниках эта информация представлена разрозненно, поэтому данную статью можно использовать как руководство по получению подписанных ключей и быстрой настройке HTTPS.

Введение

Чтобы подготовить сервер для обработки https-соединений, администратор должен получить и установить в систему сертификат для этого веб-сервера. Сертификат можно создать самостоятельно с помощью Unix утилиты ssl-ca из пакета OpenSSL, но подписанный данным методом сертификат не является безопасным и большинство браузеров выдают предупреждения об этом. Часть агентов также блокирует сайты с такими сертификатами, например IPhone приложения.

Сертификаты подписанные компаниями-сертификаторами избавлены от данной проблемы, но требуют оплаты для использования. Основные компании-сертификаторы: VerySign, SSLCOM, DigiCert и другие. Так сложилось, что я предпочитаю использовать SSLCOM в основном из-за их 90-дневного бесплатного периода использования для новых ключей, получение которого и будет описано в данной статье. За три месяца можно основательно протестировать проект, понять приоритеты, сделать полноценный запуск и в дальнейшем уже решить будете ли вы продлевать действие сертификата за деньги.

Запрос на получение сертификата (CSR)

CSR — запрос на получение сертификата, требуется для подписи ключей компанией-сертификатором. Я создаю его в консоли Unix-систем, например в терминале на стороне сервера. Если у вас нет такой возможности, вы можете создать CSR онлайн: https://www.reg.ru/sslcertificate/generate_key_and_csr

Все поля CSR должны заполняться на английском. Код страны — двух буквенный Alpha2 (RU для России).

your_domain_name — имя домена для которого создается сертификат

Common name — адрес домена (без www). Wildcart записи вида *.domen.com не поддерживаются на бесплатном тарифе.

example

Скопируйте полученный ключ <your_domain_name>.key и файл запроса <your_domain_name>.csr в надежное место.

Получение подписанных SSL ключей на 90-дневной период

Подписывать ключи будем у http://ssl.com. Для начала работы войдите на сервис или зарегистрируйтесь.

После входа попадаем на страницу задач и выбираем buy certificate для продолжения.

page

На открывшейся странице выбираем Free SSL.

page

Нажимаем кнопку GET и попадаем на первый шаг процесса подписания нашего сертификата. В открывшейся странице выберите чекбокс I want to submit my CSR now для добавления полученного нами на предыдущем шаге CSR.

В данной статье мы будем настраивать Nginx поэтому из выпадающего списка я выбрал соответствующую опцию.

page

Если CSR запрос был сформирован правильно, то на следующем шаге вас попросят принять условия использования. После принятия вы попадаете в форму ввода дополнительной информации, где от вас потребуется ввод адреса и почтового индекса. Далее информация для контактных лиц.

Пятый шаг — подтверждение домена. Возможно два варианта, размещение файла на сервере или подтверждение по электронной почте. Адреса требуемые для подтверждения через email не всегда доступны, поэтому я обычно выкладываю на сервер полученный файл.

page

Пример конфигурации для Nginx (файл D3AD7299FFC0954B0FD047063ABB7EFD.txt лежит в папке /home/user ):

После получения подписанного сертификата можно будет удалить файл и изменения в настройках.

Если проверку вы прошли успешно, остается только ждать подтверждения от компании-сертификатора, что может занять от нескольких часов до суток.

page

После добавления ключей компанией сертификатором вам будет выслано уведомительное письмо. Откройте страницу заказа сертификата и загрузите его к себе на компьютер. Для Nginx вы получите файл ca_bundle.txt

Полученный файл переименуйте в формат <your_domain_name>.bundle.crt и вместе с ключом который мы создали на первом шаге ( <your_domain_name>.key ) положите на сервер.

Настройка Nginx для работы с SSL

Для включения SSL в Nginx добавьте в конфигурацию сервера следующие настройки:

Для автоматического направления всех HTTP запросов на HTTPS, обычно достаточно следующей конфигурации:

Как установить SSL-сертификат на сайт

seonumberone.ru

Если слова https или ssl вам не знакомы, советую сначала изучить данную статью, после чего приступить к этой. В материале будет рассмотрена практическая часть установки ssl-сертификата с минимальной теоретической частью.

Обратите внимание! Пункт 4 в инструкции по переезду на HTTPS неактуален, яндекс отказался от использования директивы host. Сейчас взамен этого необходимо настроить 301 редирект или канонические адреса, подробнее в Яндекс.Помощи.

Существует большое количество методов установки ssl-сертификата, в этой статье осветим наиболее распространенные.

Но перед установкой стоит рассмотреть еще один важный вопрос, как подтвердить право владения доменом.

Подтверждение прав владения доменом

Необходимо пройти процесс валидации домена для выпуска сертификата. С помощью этой процедуры подтверждается право на владение доменом.

Возможны последующие проверки:

  • проверка организации;
  • расширенная проверка.

Мы рассмотрим только процесс доменной валидации. О таких вещах, как обратный звонок и разговор с сотрудником сертификационного центра, проверка организации через государственный реестр организаций, нет смысла говорить в рамках этой статьи, они не содержат технической части.

Где взять приватный ключ сертификата

We stand with our friends and colleagues in Ukraine. To support Ukraine in their time of need visit this page.

How can I find the Private key for my SSL certificate

If you just got an issued SSL certificate and are having a hard time finding the corresponding Private key, this article can help you to find that one and only key for your certificate.

  • What is a Private Key?
    • Public key vs Private key
    • How do you generate a Private key?
    • Can I generate a new Private key for my SSL certificate?
    • What does a Private key look like?
    • How to retrieve a misplaced Private key
      • How to retrieve a Private key on different server platforms

      What is a Private Key?

      Firstly, let’s dive into basics a little. The design of global public key infrastructure, relying on which modern secure negotiation through SSL/TLS is possible, implies that there is always a pair of unique keys —

      Public key vs Private key

      How do you generate a Private key?

      Can I generate a new Private key for my SSL certificate?

      Since a public key with the additional information (i.e., domain name and administrative contact information) must be signed by a trusted Certificate Authority in order to make it applicable and legitimate for securing communication with your server, it wouldn’t make much sense if we could just make up a new Private key for an already validated public key. On the other hand, we must be sure that nobody can create a matching Private key basing on a public key. Thus, modern cryptosystems make such a task almost impossible.

      What does a Private key look like?

      privatkey_1

      Nonetheless, in most cases, this code won’t come into your sight while generating the CSR. It is usually created in the background and silently saved in the server’s filesystem. And obviously, during the SSL certificate installation the key should be fetched to the certificate automatically. However, some systems do not have such a kind of behavior or sometimes we need to install the certificate on another server. These are the examples of the cases when we really need to know the exact location of the Private key.

      How to retrieve a misplaced Private key

      Below you can find tips, examples and pieces of advice that you can consider to follow in order to get a missing puzzle and avoid certificate reissue (i.e., repeating the process of activation and validation from scratch).

      How to retrieve a Private key on different server platforms

      Linux operating systems (Apache, Nginx, Lighttpd, Heroku)

      Traditionally, Private keys on Linux-based operating systems (Ubuntu, Debian, CentOS, RedHat, etc.) are openssl generated keys with the crypto toolkit and saved into files with the .key or .pem extension. However, since specific extensions are not obligatory for simple text files on Linux systems, the Private key code can be put into a file with virtually any name.

      If you remember the full or partial name of the .key file, you can try to get its location by running the ‘find’ command as below:

      sudo find [search_start_folder] -type f -iname ‘private.key’

      — [search_start_folder] parameter indicates the directory to start the search from and through all directories inside it, for example, to search from “root”, the / sign should be specified;
      — to do the search by a partial filename, the assumed name of the file should be specified with an asterisk (*), for example, the “*.key” value allows locating every file with the name ending with “.key”.

      HINT: Very often, the name of the key file resembles the domain name the certificate is issued for, e.g., “example.com.key”, “example_com.key”, “example-com.key” etc.

      Another way to get the Private key file location is to search inside the files by certain patterns:

      grep -r —exclude-dir=log —exclude-dir=ssh —exclude=*history -I -l -e ‘——BEGIN PRIVATE*’ -e ‘——BEGIN RSA*’ -e ‘——BEGIN EC*’ [search_start_folder] 2> /dev/null

      This one-liner command prints out an absolute path to the file, which contains a matching expression (——BEGIN header), for example, “/etc/ssl/private.key”.

      Windows operating systems (IIS, Exchange, Small Business server)

      Windows systems do not allow retrieving the Private key in plain text. When an SSL certificate is imported either through Microsoft Management Console (MMC) or IIS, the matching Private key is bound to the certificate automatically, of course, if the certificate is being imported to the same instance the key was generated on. But if we need to get the Private key for example for the certificate installation on another server, there is an option to export the key in a password protected file (PFX or PKCS12 format). To do so, you will need to open MMC Certificates snap-in in the following way:

      Win+R > mmc.exe > OK > File > Add/Remove Snap-in > Certificates > Add > Computer account > Next > Local computer > Finish > OK

      Then navigate to Certificate Enrollment Requests > Certificates (if the certificate request was not completed) or Personal > Certificates (if the certificate request was already completed) folder, right-click on the certificate entry and click All Tasks > Export to open the export wizard. More details on the export process can be found here.

      privatkey_2

      As a result, you will receive a .pfx file containing the key. To get the key in plain text, you can convert the .pfx into PEM-encoded files using tool (PKCS#12 to PEM option).

      The default “Keychain” tool in the Server app does not allow accessing the generated Private key through the graphic user interface. However, using the command line tools in Terminal, it is possible to navigate to the “/etc/certificates” folder and open the key file, which should be called something like “.key.pem”.

      Tomcat (using keytool)

      Unless the SSL connector on Tomcat is configured in APR style, the Private key is usually stored in a password-protected Java keystore file (.jks or .keystore), which was created prior to the CSR. To extract the key in PEM format, the keystore should be converted into .pfx/.p12 (PKCS#12) file firstly. With the ”keytool” utility, it can be done with the help of the following command:

      keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -deststoretype PKCS12 -srcalias -srcstorepass -srckeypass -deststorepass -destkeypass

      “keystore.jks” should be replaced with the name of the keystore, containing the required key; “keystore.p12” — with the name of the .pfx/.p12 file the keystore will be converted into; , and refer to the alias, the keystore password and the key password values specified during the keystore generation; and values are required for securing the integrity of the new .pfx./p12 file; it is possible to use the same password for both parameters though.

      When the .pfx/.p12 file is created, it can be converted into PEM formatted files either with the help of this tool (PKCS#12 to PEM option) or using OpenSSL. The OpenSSL command would be:

      openssl pkcs12 -in keystore.p12 -nocerts -nodes -out private.key

      — ‘private.key’ refers to the name of the file the Private key text will be saved to.

      There are 2 ways to get to the Private key in cPanel:

        Using SSL/TLS Manager

      There’s another menu in the «SSL/TLS» manager that allows to find the matching Private key for the certificate. Click on «Certificate Signing Request (CSR)» and locate your CSR by the domain.

      Scroll the next page down, where you can see the «This CSR uses the following key» option and a link below it to obtain the Private key:

      In WHM the Private keys are stored along with the corresponding CSRs and certificates in “SSL Storage manager”. To get there, you can click “SSL/TLS” on the home screen and then on the “SSL Storage manager”. To open the Private key text, you will need to click on the magnifier button in the first column called “Key”.

      privatkey_5

      After navigating to Domains > domain.com > SSL/TLS certificates, you should see the page similar to the one on the screenshot below. The key sign with the message “Private key part supplied” indicates the presence of the needed key in the system. To open it in plain text, you will need to click on the name of the entry and scroll down until the key code appears on the screen. Alternatively, you can click on the green arrow sign on the right and download the .pem file containing the key, the CSR and the certificate along with the CA bundle, if they were imported already. The .pem file can be opened with any text editor like Notepad:

      privatkey_6

      Synology NAS DSM

      In Synology DSM, the Private key is downloaded in the archive.zip file on the last step of the CSR generation wizard. It is saved in the server.key file inside the .zip archive and can be opened on a local computer with a text editor:

      privatkey_7

      The Webmin panel was designed as a graphic user interface on top of the command line tools, although it comes with the File manager (Filemin) which can be used for browsing the file system in order to find the key file, which was created by the OpenSSL command in Command Shell when the CSR was generated.

      privatkey_8

      The other way to find the Private key in Webmin is to open “Command shell” under the “Others” section and run the “find” or “grep” command from the “Linux operating systems” paragraph of this article.

      The Private key on VestaCP is not saved anywhere throughout the user interface; it is necessary to save the key text into a local file during the CSR generation.

      However, there is still a chance to find it through SSH. When VestaCP creates a new CSR, the Private key is stored as a temporary file in the “/tmp” directory. The absolute path to the key file might look like “/tmp/tmp.npAnkmWFcu/example.com.key”, for example. The main bottleneck here is that the files inside “/tmp” are deleted permanently during each server reboot.

      To get the location of the key file on your instance, the following command can be invoked:

      find /tmp -type f -iname ‘ domain.com .key’

      — “domain.com” should be replaced with the actual domain name the CSR was generated for.

      Alternatively, the same old “grep” can be used as well:
      grep -r -I -l -e ‘——BEGIN PRIVATE*’ -e ‘——BEGIN RSA*’ /tmp 2> /dev/null

      DirectAdmin

      In the recent versions of DirectAdmin panel the Private key is usually saved in the system and gets pre-fetched in the “Paste a pre-generated certificate and key” section in the SSL Certificates menu.

      If during the certificate installation you are about to paste the certificate text under the auto-populated Private key text but see an empty window, it could mean the CSR code was generated elsewhere or the Private key was not added to this window due to a system glitch. In the latter case, it is possible to retrieve the key via SSH. It is normally saved in the following directory: /usr/local/directadmin/data/users/ /domains/ .key , where corresponds to your DirectAdmin username and — to the domain the CSR has been generated for.

      The “SSL” section in Webuzo is located on the home page. Clicking on the “Private keys” button will lead to the list of the generated keys. To see the key text, the pencil button should be clicked on the right side of the list under the “Option” column:

      privatkey_9

      The CSR was generated via an online tool

      Online tools like decoder.link do not automatically save the generated codes anywhere. So if you create the CSR code and Private key with this kind of tool, you should save them manually in a plain text file. When you’re done, double-check that you have saved both files.

      You can check if the file with the Private key is stored with other files on your device. If the file was opened or created recently, it should be shown in the «Recent files» list, which you can find by doing the following:

      • Press Windows + E to open File Explorer in a new window;
      • Select Quick Access on the left sidebar;
      • You will see a list of recently opened files.

      • Click Apple Menu;
      • Choose the Recent Items option;
      • You’ll see the recently opened files in the next window.

      I have several Private keys

      To complete SSL installation, you should use the Private key that matches the issued SSL certificate. If there are several Private keys in your panel, server, or computer, check which one matches your SSL with this Matcher tool. Follow these steps:

      • Open the .crt file via a plain text editor like «Notepad» (for Windows) or «Text Editor» (for Mac);
      • Copy the certificate code from the opened file and paste it into the «Certificate» box in the Matcher tool;
      • Paste the Private key to the «Private key/CSR» box;
      • Click «Match».

      More detailed information on how to use this tool can be found here.

      Once you find the matching Private key, you can install your SSL.

      There is no Private key

      In conclusion, if none of the above-mentioned tips were helpful and the original Private key cannot be retrieved, it is necessary to generate the new CSR / Private key pair and reissue the certificate, making sure that the Private key is safe this time.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *