-
Notifications
You must be signed in to change notification settings - Fork 7
SSL
Сертификат - это метод распространения открытого ключа и другой информации о сервере и организации, ответственной за него. Сертификат может иметь цифровую подпись, которая сделана центром сертификации (CA).
Для того, чтобы использовать сертификат, как правило, надо осуществить следующие действия:
- Сгенерировать открытый и закрытый ключи сервера
- Создать запрос на сертификат: CSR (включающий открытый ключ, информацию о сервере, и управляющей им компании). Запрос представляет собой текстовый файл, содержащий в закодированном виде информацию об администраторе домена и открытый ключ.
- Отправить файл запроса центру сертификации (CA), вместе с подтверждающими документами
- Центр проверяет запрос на сертификат и вашу идентичность, и затем отсылает в ответ сертификат для вашего сервера
- Установить полученный сертификат на сервер и настроить нужные приложения на его использование
Ссылки:
Этот раздел описывают все действия, необходимые, чтобы сгенерировать открытый и закрытый ключи сервера, и создать запрос на сертификат (включающий открытый ключ, информацию о сервере, и управляющей им компании) (пункты 1. и 2.) Для создания самоподписанного сертификата, можно сразу перейти к разделу Создание самоподписанного сертификата.
Также, вместо используемых в инструкции имен ключей server.key.strong
и server.key
, лучше использовать имена, созданные на основе имени хоста, например, myhostname.key
. Узнать имя хоста можно командой hostname
.
-
Сгенерируем запароленный безопасный приватный ключ сервера
server.key.strong
:openssl genrsa -des3 -out server.key.strong 2048
Здесь надо обязательно ввести свою кодовую фразу на этот ключ. Этот ключ будет зашифрован этой кодовой фразой. Минимальная длина пароля - 4 символа, лучше 20. Этот ключ в следующем шаге будет использован для генерации другого ключа, без кодовой фразы, который будет использован для создания CSR, и этот второй ключ без кодовой фразы будет использован приложениями, работающими с SSL.
-
Теперь, на основе безопасного ключа
server.key.strong
, создадим небезопасный ключserver.key
, без кодовой фразы:openssl rsa -in server.key.strong -out server.key
Будет запрошен пароль от ключа
server.key.strong
. -
Используя небезопасный ключ без пароля
server.key
, создадим CSR:openssl req -new -key server.key -out server.csr
Будет спрошено:
Country Name (2 letter code) [AU]:RU State or Province Name (full name) [Some-State]:Moscow Locality Name (eg, city) []:Moscow Organization Name (eg, company) [Internet Widgits Pty Ltd]:Ruware Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []:andyceo Email Address []:andyceo@yandex.ru Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Краткое описание дополнительных полей:
The "challenge password" is basically a shared-secret nonce between you and the SSL issuer, embedded in the CSR, which the issuer may use to authenticate you should that ever be needed. This field ("optional company name") is part of the certificate request; The certificate issuer may look up this name or not. But this field will not appear in the resulting certificate, unlike organizationName.
-
Создаем самоподписанный сертификат на основе уже имеющегося файла запроса сертификата (CSR)
server.csr
(можно использовать файл, сгенерированный в пункте Создание запроса на подпись сертификата (CSR)):openssl x509 -req -days 9999 -in server.csr -signkey server.key -out server.crt
Эта команда создаст файл сертификата
server.crt
. -
Создаем самоподписанный сертификат без файла запроса сертификата (CSR):
openssl req -new -x509 -days 9999 -nodes -out server.crt -keyout server.key
Эта команда создаст два файла, приватный ключ сервера
server.key
, и файл сертификатаserver.crt
.Она же в неинтерактивном режиме:
openssl req -new -x509 -days 9999 -nodes -subj "/C=RU/ST=Moscow/L=Moscow/O=Ruware/OU=IT Department/CN=ruware.com" -out server.crt -keyout server.key
Здесь в опции
--subj
указана вся необходимая для сертификата информация.
- Регистрируемся на сервисе startssl.com и заполняем анкету. Ждем, пока наши данные проверят
- @todo: дописать
Ссылки:
@todo: дописать
Ссылки:
Footer is under construction
Sidebar is under construction