Я хочу молча, не в интерактивном режиме, создать сертификат SSL. Т.е. без запроса каких-либо данных.
Обычный способ создания сертификата:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \
-keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Я попробовал следующее:
openssl genrsa -out server.key 2048
touch openssl.cnf
cat >> openssl.cnf <<EOF
[ req ]
prompt = no
distinguished_name = req_distinguished_name
[ req_distinguished_name ]
C = GB
ST = Test State
L = Test Locality
O = Org Name
OU = Org Unit Name
CN = Common Name
emailAddress = test@email.com
EOF
openssl req -x509 -config openssl.cnf -nodes -days 7300 \
-signkey server.key -out /etc/ssl/private/pure-ftpd.pem
Но я все еще получаю подсказку для данных.
openssl req -x509 -config openssl.cnf -nodes -days 7300 -signkey server.key -out /etc/ssl/private/pure-ftpd.pem
-signkey
. Это недопустимаяopenssl req
опция в моей системе. Сообщение об ошибке будет иметь такую же первую строку:unknown option -signkey
2> /dev/null
.Ответы:
Вам не хватает, чтобы включить тему сертификата в
-subj
флаг. Я предпочитаю это созданию файла конфигурации, потому что его легче интегрировать в рабочий процесс и не требует последующей очистки.Один шаг и генерация csr:
Один шаг самозаверяющего создания сертификата без пароля:
Ни одна из этих команд не будет запрашивать какие-либо данные.
Смотрите мой ответ на этот почти идентичный вопрос на Super User.
источник
-subj
параметром, особенно когда вы попадаете в расширения v3 и параметры subjectAltName.-batch
(неинтерактивный режим)-subj
это базовый действующий встроенный CSR.Команда, которую вы ищете:
Изменения от вашей версии:
-new
требуется генерировать что-либо-key
используется вместо-signkey
источник