Spec-Zone.ru › MariaDB

Создание сертификатов с помощью OpenSSL

Предупреждение: инструкции ниже генерируют сертификаты версии 1. Эти сертификаты работают с серверами и клиентами, использующими OpenSSL, но не работают, если используется WolfSSL, как это происходит в наших пакетах MSI для Windows и двоичных архивах tar для Linux.

WolfSSL требует сертификаты версии 3 при использовании TLS v1.2 или выше, и поэтому не будут работать с сертификатами, сгенерированными таким образом, при использовании двустороннего TLS с явными сертификатами клиента.

Генерация сертификатов версии 3 требует нескольких дополнительных шагов, мы скоро обновим инструкции ниже, чтобы включить их.

См. также: MDEV-25701

Для обеспечения связи с сервером MariaDB с использованием TLS необходимо создать закрытый ключ и X.509 сертификат для сервера. Вы также можете создать дополнительные закрытые ключи и X.509 сертификаты для любых клиентов, которым необходимо подключиться к серверу с использованием TLS. Это руководство описывает, как создать закрытый ключ и самоподписанный X.509 сертификат с помощью OpenSSL.

Создание сертификатов

Библиотека OpenSSL предоставляет командную утилиту openssl, которая может использоваться для выполнения различных задач с библиотекой, таких как генерация закрытых ключей, создание запросов на сертификаты X.509, подписание сертификатов X.509 как центром сертификации (ЦС) и проверка сертификатов X.509.

Создание закрытого ключа и сертификата ЦС

Центр сертификации (ЦС) обычно представляет собой организацию (например, Let's Encrypt), которая подписывает сертификат X.509 и проверяет владение доменом. Однако, когда вы хотите использовать самоподписанные сертификаты, вам необходимо самостоятельно создать закрытый ключ и сертификат для ЦС, а затем использовать их для подписи собственных сертификатов X.509.

Для начала сгенерируйте закрытый ключ для ЦС, используя команду openssl genrsa. Например:

# openssl genrsa 2048 > ca-key.pem

После этого вы можете использовать закрытый ключ для генерации сертификата X.509 для ЦС, используя команду openssl req. Например:

# openssl req -new -x509 -nodes -days 365000 \
      -key ca-key.pem -out ca.pem

Вышеприведенные команды создают два файла в текущем каталоге: закрытый ключ ca-key.pem и сертификат X.509 ca.pem — оба используются ЦС для создания самоподписанных сертификатов X.509 ниже.

Создание закрытого ключа и самоподписанного сертификата

После получения закрытого ключа и сертификата ЦС вы можете создать самоподписанные сертификаты X.509, которые будут использоваться для сервера MariaDB, клиентов, репликации и других целей.

Для начала сгенерируйте закрытый ключ и создайте запрос на сертификат, используя команду openssl req. Например:

# openssl req -newkey rsa:2048 -days 365000 \
      -nodes -keyout server-key.pem -out server-req.pem

После этого обработайте ключ, удалив пароль, используя команду openssl rsa. Например:

# openssl rsa -in server-key.pem -out server-key.pem

Наконец, используя запрос на сертификат и закрытый ключ и сертификат ЦС, вы можете сгенерировать самоподписанный сертификат X.509 из запроса на сертификат, используя команду openssl x509. Например:

# openssl x509 -req -in server-req.pem -days 365000 \
      -CA ca.pem -CAkey ca-key.pem -set_serial 01 \
      -out server-cert.pem

Это создает файл server-cert.pem, который является самоподписанным сертификатом X.509.

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

После создания сертификата ЦС и самоподписанного сертификата X.509 вы можете проверить, что сертификат X.509 был правильно сгенерирован, используя команду openssl verify. Например:

# openssl verify -CAfile ca.pem server-cert.pem
server-cert.pem: OK

Вы можете добавить любое количество сертификатов X.509 для проверки против сертификата X.509 ЦС. Значение OK указывает на то, что сертификат был правильно сгенерирован и готов к использованию с MariaDB.

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

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/certificate-creation-with-openssl/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API