Команды генерации сертификатов openssl [дубликаты]

14

Я делаю самозаверяющий сертификат с использованием OpenSSL. Я хочу сделать сертификат за один раз, это означает, что он не будет запрашивать ввод данных для названия компании, общего имени и т. Д. И т. Д. Есть ли способ сделать это как переключатель, например /nopromptили любой другой, через который я могу ввести все поля за один присест. Возможно ли, что следующая команда принимает все аргументы в этом вызове, которые она принимает после нажатия enter

openssl x509 -req -days 30 -in request.pem -signkey key.pem -out certificate.pem

источник

Ответы:

25

Изменить: Этот вопрос был закрыт как дубликат OpenSSL без запроса . Смотрите также мой принятый ответ. Этот ответ теперь также дополнен вариантом ECDSA. Если вы можете использовать ECDSA, вам следует.

Вы должны указать тему как часть вашей команды.

Эта команда представляет собой один шаг, неинтерактивный, создание самозаверяющего сертификата.

Версия RSA

openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 \
    -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" \
    -keyout www.example.com.key \
    -out www.example.com.cert

Версия ECDSA

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 \
    -days 365 -nodes -x509 \
    -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" \
    -keyout www.example.com.key \
    -out www.example.com.cert
bahamat
источник
2
Brilliant. Я не знал о неинтерактивном компоненте, и это именно то, что мне нужно для обеспечения виртуальной машины Vagrant.
Роб Уилкерсон
То же самое, хочу автоматические сертификаты для Vagrant.
Ричард Клэйтон
0

Вы можете заполнить файл заранее, чтобы автоматизировать процесс создания сертификатов, в разделе с именем:

«Пример файла конфигурации, запрашивающего значения поля»

Ссылка: http://www.openssl.org/docs/apps/req.html#EXAMPLES

Shadok
источник
Даже с этим файлом пользователю все еще приходится
нажимать клавишу