команди генерації сертифікату 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

2
Блискуча. Я не знав про неінтерактивний компонент, і це саме те, що мені потрібно, щоб надати Vagrant VM.
Роб Вілкерсон

Дітто, хочу автоматизовані серти для Vagrant.
Річард Клейтон

0

Ви можете заздалегідь заповнити файл, щоб автоматизувати процес створення сертифікатів, у розділі з назвою:

"Приклад файлу конфігурації із запитом на значення поля"

Посилання: http://www.openssl.org/docs/apps/req.html#EXAMPLES


Навіть із цим файлом користувачеві все одно доводиться повертати, щоб підтвердити кожне автоматизоване значення
Gearoid Murphy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.