Как передать аргументы типа «Название страны» в OpenSSL при создании самозаверяющего сертификата?

14

Я могу создать самозаверяющий сертификат с помощью этой команды

openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -out server.crt

Но возможно ли передать аргументы типа «Название страны», «Название штата или провинции» и т. Д. В OpenSSL для автоматизации этого процесса?

Александр Цайтлер
источник
Вам все еще нужно передать имена хостов через файл CONF. В противном случае браузеры отклонят сертификат, даже если он находится в надлежащем хранилище доверенных сертификатов. Это связано с тем, что для базовых требований CA / Browser требуются имена хостов в дополнительном имени субъекта , и единственный способ добавить их - через файл CONF. Также смотрите Как создать самозаверяющий сертификат с помощью openssl? Переполнение стека.
17

Ответы:

17

Этот сайт очень хорошо объясняет, как это сделать:

Волшебство генерации CSR без запроса значений, которые идут в поле темы сертификата, находится в -subjопции.

-subj arg
  Replaces subject field of input request with specified data and outputs modified request.
    The arg must be formatted as /type0=value0/type1=value1/type2=...,
    characters may be escaped by \ (backslash), no spaces are skipped.

Например:

openssl ... -subj "/C=GB/ST=London/L=London/O=Global Security/OU=IT Department/CN=example.com"

Смотрите подробности на странице, на которую я ссылался выше.

Янош
источник
Данная ссылка указывает на несуществующую страницу. Аналогичная информация может быть найдена на shellhacks.com/…
Яри
И чтобы добавить контактный адрес электронной почты, добавьте это к теме:/emailAddress=me@mydomain.com
colminator