Переменная использования OpenSSL CNF

как использовать переменную из пользовательского ввода в файле OpenSSL CNF?

У меня есть следующие CNF:

[ req_distinguished_name ]
emailAddress = Email Address

# specify defaults
emailAddress_default = John.Smith@company.mail

как я могу использовать электронную почту что пользователь выбирает на emailAddress параметр в следующем разделе без использования сценария для создания CNF?

[ usr_cert ]
# Extensions for client certificates (`man x509v3_config`).
subjectAltName = email:John.Smith@company.mail
7
задан Kyle B
04.03.2023 20:22 Количество просмотров материала 3323
Распечатать страницу

1 ответ

в файлах конфигурации OpenSSL вы можете использовать значение из другого раздела, используя ${section::name}. Тем не менее, кажется, что они анализируются в начале процесса (до ввода пользователем) и, следовательно, такие строки, как:

[ req_distinguished_name ]
emailAddress                    = Email Address
emailAddress_max                = 64

....

[usr_cert]
# Extensions for client certificates (`man x509v3_config`).
subjectAltName = email:${req_distinguished_name::emailAddress}

приведет к теме альтернативное имя:

X509v3 Subject Alternative Name:
    email: Email Address

(если Email Address подсказка), а не введенный адрес электронной почты.

в качестве альтернативы можно задать адрес электронной почты в качестве переменной среды перед запуском OpenSSL, и использовать следующее в конфигурации:

[usr_cert]
# Extensions for client certificates (`man x509v3_config`).
subjectAltName = email:${ENV::email_address}

и

email_address="johndoe@example.com" openssl req -new -newkey test.key -out test.csr -nodes

полученный запрос (test.csr) будет:

X509v3 Subject Alternative Name:
    email: johndoe@example.com

это может не работать для вас, в зависимости от вашего приложения, конечно, но это, наверное, ближайший вы можете получить.

еще одна альтернатива была бы скрипт, который генерирует OpenSSL конфигурации на лету с правильным адресом электронной почты и другие детали уже настроены.

0
отвечен garethTheRed 2023-03-06 04:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх