Как добавить, что расширенное ключевое использование представляет в виде строки при генерации самоподписанного сертификата с помощью openssl

Не то, чтобы я хочу к necro этот вопрос, но я заметил что никакой когда-либо упомянутый Windows Home Server. Для малого офиса / домашний офис (<= 10 пользователей), это - вероятно, Ваш лучший выбор для опции уровня сервера для нормального опыта Windows.

WHS является в основном разделенным вниз версия Windows Server 2003. Это будет управлять долями файла, общими принтерами и резервными копиями рабочей станции.

Более подробная информация: http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx

Я просто недавно вставил один из них в офисе нашего ветеринара. Работает отлично до сих пор. Просто купленный базовый сервер и установленный WHS сверху его.

8
задан 3 February 2014 в 22:02
2 ответа

В то время как openssl x509 использует -extfile , используемой вами команде openssl req требуется -config , чтобы указать файл конфигурации.

Итак, вы можете использовать такую ​​команду:

openssl req -x509 -config cert_config -extensions 'my server exts' -nodes \
            -days 365 -newkey rsa:4096 -keyout myserver.key -out myserver.crt

Обычные запросы для битов отличительного имени определены в файле конфигурации по умолчанию (который, вероятно, является / System / Library / OpenSSL / openssl.cnf в OS X), но этот файл не обрабатывается, когда вы используете -config , поэтому ваш файл конфигурации также должен включать некоторые биты DN. Таким образом, указанный выше cert_config может выглядеть примерно так:

[ req ]
prompt             = no
distinguished_name = my dn

[ my dn ]
# The bare minimum is probably a commonName
            commonName = secure.example.com
           countryName = XX
          localityName = Fun Land
      organizationName = MyCo LLC LTD INC (d.b.a. OurCo)
organizationalUnitName = SSL Dept.
   stateOrProvinceName = YY
          emailAddress = ssl-admin@example.com
                  name = John Doe
               surname = Doe
             givenName = John
              initials = JXD
           dnQualifier = some

[ my server exts ]
extendedKeyUsage = 1.3.6.1.5.5.7.3.1
# 1.3.6.1.5.5.7.3.1 can also be spelled serverAuth:
# extendedKeyUsage = serverAuth

# see x509v3_config for other extensions

Как указано в комментарии, вы, вероятно, можете опустить большую часть полей DN. Для использования HTTPS, я думаю, все, что вам нужно, это CN, который соответствует вашему имени хоста. x509v3_config (5) , какие еще биты можно указать в разделах расширений.

8
ответ дан 2 December 2019 в 23:02

В более новых версиях OpenSSL все это можно сделать в одной командной строке без необходимости создавать файл конфигурации. Опция -addext также была добавлена ​​в команду req. Полный список возможных значений расширенного использования ключа см. в руководстве по настройке.

Полный пример:

openssl req -x509 -nodes -newkey rsa:2048 -keyout key.pem -out server.pem -days 7300 -subj '/CN=My Name/C=US/OU=My Unit/O=ACME' -addext "keyUsage = digitalSignature, keyEncipherment, dataEncipherment, cRLSign, keyCertSign" -addext "extendedKeyUsage = serverAuth, clientAuth"
1
ответ дан 24 April 2021 в 00:52

Теги

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