как сохранить SubjectAltName как commonName в файле openssl conf - PullRequest
0 голосов
/ 02 июля 2018

Я работаю над созданием центра сертификации на моем сервере Centos. Я выполнил настройку после OpenSSL Cookbook (замечательные вещи) из https://www.feistyduck.com/books/openssl-cookbook/ Понятия, описанные в книге, и процедура очень просты и работают как шарм. Тем не менее, я чувствую, что он немного устарел, и браузер chrome изменил поведение, требуя использования альтернативного имени субъекта, в противном случае он выдает предупреждение браузера, даже если сертификат совершенно действителен.

После прочтения документации на https://www.openssl.org/docs/man1.0.2/apps/x509v3_config.html#Subject-Alternative-Name я понял, что мне нужно включить это в мой conf-файл корневого CA и sub-ca (промежуточного центра сертификации).

Теперь я хочу использовать commonName в качестве SAN. Это означает, что вместо жесткого кодирования SAN я хочу взять любое значение, полученное из CSR для CommonName, и использовать его в качестве SAN. Что я должен положить в файл conf для достижения этого? Я пытался поставить subjectAltName = $ commonName и это говорит мне, что это недопустимый способ определения SAN.

Вот мой фактический файл конф

https://pastebin.com/UtCDU4BE

Ответы [ 2 ]

0 голосов
/ 02 июля 2018

Этот ответ может помочь https://security.stackexchange.com/a/91556. Как уже упоминалось @Jon. Это возможно только с помощью шаблона. Убедитесь, что вы подтвердили ввод. В противном случае кто-то может ввести новую строку в DNS-имя. Другим решением проблемы может быть использование https://github.com/cloudflare/cfssl или https://github.com/google/easypki вместо.

0 голосов
/ 02 июля 2018

К сожалению, файлы conf OpenSSL совсем не сложны, и невозможно сослаться на ранее объявленные имена.

Я думаю, что обычный подход - написать короткий скрипт, который может заполнить шаблонный файл conf. Это то, что я делал в прошлом.

...