Есть ли способ заставить openssl пропускать такие запросы, как
Country Name (2 letter code) [US]:
Organization Name (eg, company) [My Company Name LTD.]:
Common Name (eg, YOUR name) [something]:
При создании сертификатов с
openssl req -config openssl.cnf -new -x509 ...
учитывая тот факт, что эти параметры указаны в openssl.cnf
файле
например
countryName = Country Name (2 letter code)
countryName_default = US
countryName_min = 2
countryName_max = 2
0.organizationName = Organization Name (eg, company)
0.organizationName_default = My Company Name LTD.
commonName = Common Name (eg, YOUR name)
commonName_max = 64
commonName_default = ${ENV::CN}
-subj '/C=US/ST=Oregon/L=Portland/CN=www.madboa.com'
это путьОтветы:
спасибо @indiv
в соответствии с этим руководством
-subj
это путь, напримеристочник
Другое решение состоит в использовании в вашем конфигурационном файле
prompt
директивы.См. OpenSsl: формат файла конфигурации
prompt
источник
Создайте файл конфигурации и в разделе [req] вы можете указать prompt = no.
Например:
Затем просто выполните, например,
источник
Смешанный подход не поддерживается
Может показаться интуитивно понятным, что возможен смешанный подход, когда вы можете подумать о помещении некоторых статических полей в openssl.cnf и указать некоторые (CN) через
-subj
параметр. Однако это не работает.Я протестировал сценарий, в котором я
req_distinguished_name
иopenssl req
с-subj=/CN=www.mydom.com
.openssl пожаловался, что отсутствует обязательное поле Country Name, а в сгенерированном сертификате просто указано CN в строке темы. Похоже, что
-subj
опция полностью перекрывает тему письма и не позволяет обновлять ни одно поле.Это делает все следующие три подхода к предоставлению предметных областей исключительными друг для друга:
-subj
вариантисточник
-subj
игнорируется, даже если указано после-config
.-batch
Необязательный параметр заставляетopenssl req
команду не запрашивать для любого из информационных полей. Я использую его таким образом без файла конфигурации для автоматизации самозаверяющих сертификатов.Он указан в справке:
источник