Создаем запрос сертификата, а также самоподписанный сертификат
Создание запроса сертификата
настраиваем OpenSSL на добавление в выдаваемые сертификаты дополнительных атрибутов использования ключа, для чего вносим в файл "/usr/lib/ssl/openssl.cnf" следующие изменения
в разделе "[ req ]" раскомментируем параметр
req_extensions = v3_req
в разделе "[ v3_req ]" комментируем созданные автоматически параметры и добавляем
extendedKeyUsage = serverAuth
keyUsage = digitalSignature, keyEncipherment
генерируем закрытый ключ RSA длиной 8192 байт и шифруем его с помощью AES256
openssl genrsa -aes256 -out private.key 8192
создаем запрос сертификата (при этом нужно будет ответить на несколько вопросов об информации, включаемой в сертификат; обязательным является только один параметр – субъект)
openssl req -new -key private.key -out request.csr
для удаления пароля с файла закрытого ключа используем команду
openssl rsa -in private.key -out unencrypted.key
Создание самоподписанного сертификата
для создания закрытого ключа и самоподписанного сертификата выполняем команду
openssl req -x509 -newkey rsa:4096 -days 365 -keyout private.key -out public.cer -nodes
Разное
для сохранения сертификата и закрытого ключа в формате PKCS#12 используем команду
openssl pkcs12 -export -in public.cer -inkey private.key -name "server.domain.local" -out server.p12