Как я добавляю несколько адресов электронной почты к сертификату SSL через командную строку?

На странице Top Ten One-Liners from CommandLineFu Explained предлагается этот прием (№ 3):

:w !sudo tee %

эта запись текущий буфер к stdin из команды после !. % символом заменяют с текущим именем файла.

6
28.12.2018, 22:47
2 ответа

Вам не придется возиться с файлом openssl.cnf.

Следующая команда демонстрирует, как сгенерировать самоподписанный сертификат с SAN для электронной почты nobody@example.com:

openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
  -keyout example.key -out example.crt -subj '/CN=Nobody' \
  -extensions san \
  -config <(echo '[req]'; echo 'distinguished_name=req';
            echo '[san]'; echo 'subjectAltName=email:nobody@example.com')

Фокус здесь в том, чтобы включить минимальный раздел [req], который достаточно хорош для OpenSSL, чтобы обойтись без своего основного openssl.cnf файла.

В OpenSSL ≥ 1.1.1 это можно сократить до:

openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
  -keyout example.key -out example.crt -subj '/CN=Nobody' \
  -addext 'subjectAltName=email:nobody@example.com'

Здесь мы используем новую опцию -addext, поэтому нам больше не нужны -extensions и -config.

Не забудьте проверить содержимое сгенерированного сертификата:

openssl x509 -noout -text -in example.crt

См. также: https://security.stackexchange.com/a/198409/133603 и https://stackoverflow.com/a/41366949/19163

5
27.01.2020, 20:28

В openssl.cnf наверху добавьте запись SAN = "email:copy" (чтобы иметь значение по умолчанию в случае, если переменная среды SAN не установлен), и в соответствующем использовании раздела SubjectAltName = ${ENV::SAN}. Теперь просто звоните SAN="email:copy, email:adress@two" openssl ..., где email:copy удостоверяется, что основной адрес используется также. (Адаптированный отсюда)

1
27.01.2020, 20:28
  • 1
    к сам: Если Ваш единственный доступ через SSH, удостоверьтесь Ваш openssl.conf допустимо. Самая простая проверка пытается установить второе соединение (или scp что-то), не сокращая первый один –  Tobias Kienzler 12.03.2013, 15:26

Теги

Похожие вопросы