Для организации шифрованного соединения по SSL необходимо наличие сертификатов. Будь то SMTP, POP, HTTP или VPN. Приведу в пример небольшое руководство по созданию сертификатов.

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

Генерирование RSA-ключа сервера

# openssl genrsa -out example.ru.key 1024
Generating RSA private key, 1024 bit long modulus
..++++++
........................................................................++++++
e is 65537 (0x10001)

где: 1024 — стойкость шифрования, а example.ru.key — имя файла ключа на выходе. Имя файла может быть любым. Но удобней использовать имя хоста, которому принадлежит этот ключ.

Сам ключ представляет собой текстовый файл и выглядит обычно так:

-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQDHJaQYB4QwYbq1Yf177CBSPVSyl+oMPvc7QKzimldewAosMkcR
BQo/02IbIrZsHw2YHL5+EuxZr0RZLvbKCbOIWKa3FWQh00XBDEQCGKQSVAqFyi2J
Bb47nJ5nGfWfetRf33hYlRqN2CluH7uU02qV0m8IvgVduI9ce3Ddp7FblQIDAQAB
R1a/fwOWIhkKGoLAlKPxnZWgAftXMOhPkl8o4C+V2Nv/LNDW8nk6qF1/fZ9JLdld
m7vBJRooJGNzrp9z59gtAkEAl7JjjuqX3ae+Bg4/DFzJh/qyLBwwMHrlnicLxXUL
3w8f+a4t/R4vmh5Pqlep5IorWWfwhNIO2MODfzcN8XeApA==
-----END RSA PRIVATE KEY-----

Важную роль играют первая и последняя строчки файла. До и после фраз “BEGIN RSA PRIVATE KEY” и “END RSA PRIVATE KEY” должно быть ровно по пять тире. Не исправляйте никогда этот файл вручную в текстовом редакторе.

Создаем ключ CA:

# openssl gendsa -des3 -out myca.key myRSA.key

Используя ключ сервера создаем сертифиакт:

# openssl req -new -x509 -days 365 -key myca.key -out new.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: UA- Двубуквенное обозначение страны. UA - это Украина. Для России - RU.
State or Province Name (full name) [Some-State]:Dnepropetrovsk Region - Название штата, области, округа...
Locality Name (eg, city) []:Dnepropetrovsk - Название города, в котором географически находится сервер.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Daemony.org - Название организации.
Organizational Unit Name (eg, section) []:Apache Web Server - Название подразделения организации.
Common Name (eg, YOUR name) []:secure.daemony.org - СЮДА СЛЕДУЕТ ВПИСАТЬ ТОЧНОЕ ИМЯ ХОСТА!
Email Address []:rооt@daemоny.оrg - E-mail адрес контактного лица.

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Дополнительные (’extra’) атрибуты запроса вводить не обязательно и не нужно. Просто нажать Enter. В текущей папке появится файл CSR запроса. Выглядит он обычно так:

-----BEGIN CERTIFICATE REQUEST-----
MIIB5DCCAU0CAQAwgaMxCzAJBgNVBAYTAlVBMQswCQYDVQQIEwJEUDEXMBUGA1UE
BxMORG5lcHJvcGV0cm92c2sxFDASBgNVBAoTC0RhZW1vbnkub3JnMRowGAYDVQQL
ExFBcGF5aGUgV2ViIFNlcnZlcjEbMBkG21UEAxMSc2VjdXJlLmRhZW1vbnkub3Jn
MR8wHQYJKoZIhvcNAQkBFhByb290QGRhZW1vbnkub3JnMIGfMA0GCSqGSIb3DQEB
AQUAA4GNADCBiQKBgQDKanM73zDC7YKuulG+WdsicutOQqPltQrKaG+8ifq5KhX8
QEK6cek7vMHQ195qwIXXtTUqZYRZM//Ogc+AytJ7b1csR2yiqQrh3cAcn3h1+LtX
Sy+1ty0OeUqWBRYhIgfNeuY253nPJRhicKOLTDPbmURq9SlIPXjkkirEg90Q5QID
AQABoAAwDQYJKoZIhvcNAQEFBQADgYEAGdVMaWva0eobg5Q/q8icTiE3c1WkD/B8
lp5NBfqRZ/9xzvriA2R2nmjilYfMPvP5sGi9usdul9v7iftMz/FikAuDiIwZMRFv
OIGyedJ6jJG08YKCt+YpCXXd8v2EvuyKL9NMy3C2+RAA3ZJ1YmPPYBxF07+UX0q4
SmVodjGDfpo=
-----END CERTIFICATE REQUEST-----

Проверка сертификатов:

Посмотр информации о сертификате:

# openssl x509 -text -in servernamecert.pem

Информация запроса

# openssl req -noout -text -in server.csr

Проверить сертификат Веб сервера

# openssl s_client -connect cb.vu:443
Tagged with:  

One Response to Создание SSL сертификатов

  1. iNeko:

    Вопрос.
    Написано что мол проверка сертификатов.
    А ответов то примерных нету.
    Ну что по результатам проверки должно отобразиться, для скажем так …. сравнения.

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>