Чтобы использовать SSL_CTX_use_PrivateKey_file, вам необходимо иметь закрытый ключ в формате PEM. Файл должен содержать только один закрытый ключ. При использовании данной функции, вы должны указать SSL контекст, в который вы хотите установить закрытый ключ, и файл, содержащий закрытый ключ.

Если вы хотите использовать SSL_CTX_use_PrivateKey_file, необходимо предварительно создать SSL контекст. Это можно сделать с помощью функции SSL_CTX_new.

SSL контекст содержит информацию о настройках SSL соединения, таких как протокол, алгоритмы шифрования, сертификаты и закрытые ключи.

Когда закрытый ключ успешно установлен, SSL контекст может использоваться для создания зашифрованного соединения с помощью функции SSL_accept или SSL_connect.

Для проверки ошибок при использовании функции, можно использовать функцию ERR_print_errors_fp. Она печатает все ошибки OpenSSL в поток вывода.

При перезагрузке nginx или apache (httpd)

возникает ошибка в лог файле /var/log/nginx/error.log

SSL_CTX_use_PrivateKey_file("/etc/nginx/ssl/private.key") failed (SSL: error:0906406D:PEM routines:PEM_def_callback:problems getting password error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib)

При создании вами приватного ключа, вы создали пароль для приватного ключа.

Чтобы перезагрузить nginx, нужно удалить пароль из приватного ключа.

Remove the key pass phrase:

openssl rsa -in /etc/nginx/ssl/private.key -out /etc/nginx/ssl/private.key

где: /etc/nginx/ssl/private.key – путь до вашего приватного ключа

В ходе выполнения команды у вас попросят ввести текущий пароль для приватного ключа:

Enter pass phrase for private.key:
writing RSA key

 

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.