Мне нужно создать сотню самозаверяющих сертификатов без PEM Pass Phrase.

У меня есть несколько сотен тестовых виртуальных хостов на частном сервере. Мне нужно автоматически сгенерировать самозаверяющие SSL-сертификаты для каждого из них, но я столкнулся с проблемой: "Введите парольную фразу PEM".

Мне не нужна нужна парольная фраза. Я не хочу сто раз вводить парольную фразу. (А опция "-passin pass:blah", похоже, ничего не делает... Мне все еще выдается запрос.)

Кроме того, каждый ключ должен соответствовать имени виртуального хоста ("/CN=blah"), на котором он в конечном итоге будет размещен.

Итак, мне срочно нужен «чей-нибудь скрипт, который это делает». Помогите!!


person Mike Robinson    schedule 15.01.2016    source источник
comment
Какой инструмент вы используете для создания сертификатов? В нынешнем виде никто не смог ответить на этот вопрос.   -  person bmargulies    schedule 15.01.2016
comment
Я использую команду openssl. Я начал с этого: openssl req -x509 -newkey rsa:2048 -keyout xyz.key -out xyz.crt -days 365 -subj /C=US/ST=Tennessee/L=Somewhere/O=myco/OU=Com/ CN=www.testserver.local ... и я получаю приглашение ввести парольную фразу.   -  person Mike Robinson    schedule 15.01.2016
comment
Мне нужно поместить некоторую команду или набор команд в цикл, чтобы получить все нужные мне сертификаты. Каждый сертификат не должен требовать от Apache предоставления парольной фразы, и мне нужно сгенерировать их, ничего не вводя. Здесь нет реальной проблемы безопасности: производственные системы (разные URL-адреса) используют SSL, поэтому тестовые виртуальные хосты также должны. (И я знаю, что это уже сделано какой-то доброй душой...) :-)   -  person Mike Robinson    schedule 15.01.2016
comment
Несмотря на то, что сказано в openssl.org/docs/manmaster/apps/req.html и, в частности, в openssl.org/docs/manmaster/apps/openssl.html (в разделе Аргументы парольной фразы), попытки использовать -passin pass:foobar123 не помешали мне получить запрос на ввод фраза!   -  person Mike Robinson    schedule 15.01.2016
comment
Что здесь сбивает с толку, так это то, что с версией OpenSSL, установленной macOS 10.15 (Catalina), LibreSSL 2.8.3, текст справки, созданный openssl req -x509 -h, показывает только аргумент -passin, аргумент -passout не указан.   -  person m01    schedule 23.10.2019


Ответы (1)


Ну, как насчет этого... Кажется, я только что ответил на свой вопрос!

Мне нужен был параметр командной строки "-passout", а не "-passin".

-pass"out" определяет "источник выходного пароля", и это, по-видимому, квалифицируется как "выходной пароль".

-pass"in" определяет "источник входного пароля", но в данном случае такого понятия нет. Вариант игнорируется.


И следующее, что вам нужно сделать, это, конечно же, вынуть ключ.

Итак, последовательность команд, которая, как я полагаю, выполнит эту работу:

(1) Создайте ключ с фиктивным паролем, например:

openssl req -x509 -newkey rsa:2048 -keyout my.pass.key -out my.crt -days 365 -subj "/C=US/ST=State/L=City/O=company/OU=Com/CN= www.testserver.local" - пропуск: ABCDABCD

(2) Теперь сгенерируйте ключ без пароля:

openssl rsa -in my.pass.key -out my.key -passin pass:ABCDABCD

(3) "Убей лишнего"...

rm my.pass.key

person Mike Robinson    schedule 15.01.2016