Я использую openssl в Mac OS X 10.9 для создания самозаверяющего сертификата для служб удаленных рабочих столов Windows Server.
Используя команду ниже, я могу сгенерировать сертификат,
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout myserver.key -out myserver.crt
Однако мне нужно добавить строку использования расширенного ключа Server Authentication (1.3.6.1.5.5.7.3.1), и я не могу понять, как это сделать в приведенной выше команде.
Я попытался использовать опцию openssl -extfile с файлом, содержащим это,
[= default ]
extendedKeyUsage = 1.3.6.1.5.5.7.3.1
Тем не менее, я получаю сообщение об ошибке «опция -extfile не найдена»
Ответы:
При
openssl x509
использовании-extfile
команды, которую вы используетеopenssl req
, необходимо-config
указать файл конфигурации.Итак, вы можете использовать команду, подобную этой:
Обычные подсказки для битов отличительного имени определены в файле конфигурации по умолчанию (который, вероятно,
/System/Library/OpenSSL/openssl.cnf
в OS X), но этот файл не обрабатывается при использовании-config
, поэтому ваш файл конфигурации должен также включать некоторые биты DN. Таким образом, вышеприведенная ссылкаcert_config
может выглядеть примерно так:Как указано в комментарии, вы, вероятно, можете пропустить большинство полей DN. Для использования HTTPS, я думаю, все, что вам нужно, это CN, который соответствует вашему имени хоста.
В разделе «Формат выделенного имени и атрибута» в req (1) показано, как можно изменить вышеуказанную конфигурацию, чтобы запрашивать значения (и предоставлять значения по умолчанию), если вы хотите создать несколько похожих сертификатов / запросов.
Если вам нужны другие расширения сертификата, проверьте x509v3_config (5), какие другие биты вы можете указать в разделах расширения.
источник