Создание самоподписанных сертификатов: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
Понятия SSL-сертификатов: | Понятия SSL-сертификатов: | ||
*.pem, .crt, .cer - готовый, подписанный центром сертификации сертификат, расширения разные, но означают одно и то же. Если совсем просто, то сертификат, это подписанный открытый ключ, плюс немного информации о вашей организаци; | *'''.pem, .crt, .cer''' - готовый, подписанный центром сертификации сертификат, расширения разные, но означают одно и то же. Если совсем просто, то сертификат, это подписанный открытый ключ, плюс немного информации о вашей организаци; | ||
*.key - закрытый или открытый ключ; | *'''.key''' - закрытый или открытый ключ; | ||
*.csr - запрос на подпись сертификата, в этом файле хранится ваш открытый ключ плюс информация, об организации и домене, которую вы указали. | *'''.csr''' - запрос на подпись сертификата, в этом файле хранится ваш открытый ключ плюс информация, об организации и домене, которую вы указали. | ||
Для генерации мы воспользуемся OpenSSL. | Для генерации мы воспользуемся OpenSSL. | ||
Строка 8: | Строка 8: | ||
1. Создаем закрытый "корневой" ключ: | 1. Создаем закрытый "корневой" ключ: | ||
openssl senrsa -out rootCA.key | openssl senrsa -out rootCA.key | ||
*genrsa - создать закрытый ключ RSA | *'''genrsa''' - создать закрытый ключ RSA | ||
*-out - выходной файл | *'''-out''' - выходной файл | ||
Получим файл: rootCA.key | Получим файл: ''rootCA.key'' | ||
2. Создаем корневой сертификат с использованием сгенерированого ключа: | 2. Создаем корневой сертификат с использованием сгенерированого ключа: | ||
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem | openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem | ||
*rootCA.key - ключик, который мы сгенеририровали на прошлом шаге | *'''rootCA.key''' - ключик, который мы сгенеририровали на прошлом шаге | ||
*1024 - количество дней, сколько будет действовать корневой сертификат | *'''1024''' - количество дней, сколько будет действовать корневой сертификат | ||
*rootCA.pem - файл корневого сертификата | *'''rootCA.pem''' - файл корневого сертификата | ||
*days - количество дней действия | *'''days''' - количество дней действия | ||
Получим файл: rootCA.pem | Получим файл: ''rootCA.pem'' | ||
3. Создаем запрос на сертификат (CSR) | 3. Создаем запрос на сертификат (CSR) | ||
CSR - обычно это та информация, которая отправляется в УЦ, но в нашем случае мы подписываем сертификат самостоятельно. | '''CSR''' - обычно это та информация, которая отправляется в УЦ, но в нашем случае мы подписываем сертификат самостоятельно. | ||
openssl req -new -key rootCA.key -out org.csr | openssl req -new -key rootCA.key -out org.csr | ||
*req - создать запрос на подпись | *'''req''' - создать запрос на подпись | ||
*new - новый запрос | *'''new''' - новый запрос | ||
*key - путь к закрытому ключу | *'''key''' - путь к закрытому ключу | ||
*out - выходной файл | *'''out''' - выходной файл | ||
Вводим [Пример]: | Вводим [Пример]: | ||
Строка 41: | Строка 41: | ||
Вводим пароль. | Вводим пароль. | ||
Получим файл org.csr - содержащий информацию, необходимую для выпуска сертификата. | Получим файл '''org.csr''' - содержащий информацию, необходимую для выпуска сертификата. | ||
4. Выпускаем сертификат | 4. Выпускаем сертификат | ||
openssl x509 -req -in org.scr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out org.crt -days 365 -sha 256 | openssl x509 -req -in org.scr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out org.crt -days 365 -sha 256 | ||
*req - создать запрос на подпись | *'''req''' - создать запрос на подпись | ||
*in - вводимый файл запроса | *'''in''' - вводимый файл запроса | ||
*CA - файл корневого сертификата | *'''CA''' - файл корневого сертификата | ||
*CAkey - ключ корневого сертификата | *'''CAkey''' - ключ корневого сертификата | ||
*out - выходной crt-файл | *'''out''' - выходной crt-файл | ||
*days - количество дней действия | *'''days''' - количество дней действия | ||
[[Категория:HOWTO]] | [[Категория:HOWTO]] | ||
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}} |
Версия от 09:45, 20 апреля 2021
Понятия SSL-сертификатов:
- .pem, .crt, .cer - готовый, подписанный центром сертификации сертификат, расширения разные, но означают одно и то же. Если совсем просто, то сертификат, это подписанный открытый ключ, плюс немного информации о вашей организаци;
- .key - закрытый или открытый ключ;
- .csr - запрос на подпись сертификата, в этом файле хранится ваш открытый ключ плюс информация, об организации и домене, которую вы указали.
Для генерации мы воспользуемся OpenSSL.
1. Создаем закрытый "корневой" ключ:
openssl senrsa -out rootCA.key
- genrsa - создать закрытый ключ RSA
- -out - выходной файл
Получим файл: rootCA.key
2. Создаем корневой сертификат с использованием сгенерированого ключа:
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
- rootCA.key - ключик, который мы сгенеририровали на прошлом шаге
- 1024 - количество дней, сколько будет действовать корневой сертификат
- rootCA.pem - файл корневого сертификата
- days - количество дней действия
Получим файл: rootCA.pem
3. Создаем запрос на сертификат (CSR)
CSR - обычно это та информация, которая отправляется в УЦ, но в нашем случае мы подписываем сертификат самостоятельно.
openssl req -new -key rootCA.key -out org.csr
- req - создать запрос на подпись
- new - новый запрос
- key - путь к закрытому ключу
- out - выходной файл
Вводим [Пример]:
- Country name [Страна]: RU
- State or Province [Край или область]: Murmanskaya obl. [можно пропустить]
- Locality Name [Населенный пункт]: Umba
- Organization Name: Gazeta Rassvet
- Organization Unit Name: Redaction
- Common Name: [обычно указывается адрес сайта] rassvet-gazete.ru
- email: [можно пропустить]
Вводим пароль.
Получим файл org.csr - содержащий информацию, необходимую для выпуска сертификата.
4. Выпускаем сертификат
openssl x509 -req -in org.scr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out org.crt -days 365 -sha 256
- req - создать запрос на подпись
- in - вводимый файл запроса
- CA - файл корневого сертификата
- CAkey - ключ корневого сертификата
- out - выходной crt-файл
- days - количество дней действия