IIS 7.5 Создание самозаверяющих сертификатов с датой проверки более года

15

Я создаю самозаверяющие сертификаты SSL в IIS 7.5 для внутреннего использования. У меня проблема в том, что я хочу создать их так, чтобы они работали в течение 10 лет, поскольку это всего лишь среда разработки.

Я не вижу опции в IIS 7.5, где вы можете указать время действия сертификата. По умолчанию он создает сертификаты, срок действия которых истекает через 1 год.

Есть ли способ, которым я могу изменить это, чтобы он создавал их так, чтобы они действовали в течение 10 лет?

user1153199
источник

Ответы:

13

Вы можете сделать это с помощью SelfSSL.exeинструмента, поставляемого с IIS6 Resource Kit. Вы можете получить комплект ресурсов здесь:

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17275

Установщик просто распаковывает инструменты в папку и не мешает настройкам вашего компьютера. Выборочная установка также позволяет вам выбрать, какие инструменты вы хотите установить, и в папку по вашему выбору.

Откройте командную строку администратора и перейдите в каталог, где SelfSSLбыл установлен инструмент командной строки.

Чтобы создать новый самозаверяющий сертификат SSL, срок действия которого истекает через 10 лет, выполните следующие действия:

selfssl /n:cn=www.mydomain.com / v: 3650 / s: 8 / k: 2048

Это сгенерирует SSL, где:

  • /n:cn=www.mydomain.com- SSL для www.mydomain.com. cn=(Общее название) имеет важное значение , так что не пропустите его.

  • /v:3650 - количество дней, в течение которых действует сертификат, в этом случае десять лет

  • /s:8 - установить сертификат в идентификатор сайта 8

  • /k:2048 - используйте длину ключа 2048 бит.

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

Если вы хотите, чтобы предупреждение о том, что SSL не является доверенным, при просмотре сайтов, использующих самозаверяющий SSL, исчезло, вы также можете это исправить:

  1. Экспортируйте самозаверяющий SSL в .pfxфайл (вам нужно установить пароль, убедитесь, что вы его помните)
  2. Запустить (из командной строки или Пуск -> Выполнить) mmc certmgr.msc
  3. Найдите Trusted Root Certificate Authorities -> Certificatesи щелкните правой кнопкой мыши, чтобы перейти к Import...опции:

    введите описание изображения здесь

  4. Следуйте указаниям мастера и укажите .pfxимпортируемый объект, затем нажмите «Далее» (вам понадобится пароль, который вы установили на шаге 1):

    введите описание изображения здесь

  5. На следующем шаге мастера нам нужно выбрать, какой магазин использовать. Нажмите на Browse...кнопку, которая откроет Select Certificate Storeокно. Мы должны увидеть физические магазины, поэтому убедитесь, что есть галочка Show physical stores:

    введите описание изображения здесь

    Разверните Trusted Root Certificate Authoritiesи выберите Local Computerв соответствии с снимком экрана выше, затем нажмите OKи затемNext >

  6. Нажмите Finishкнопку на последнем шаге мастера, и если все хорошо, вы должны увидеть:

    введите описание изображения здесь

Предостережения и Gotchas:

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

  • Выпускать SSL для cn=www.mydomain.comи без, cn=mydomain.comесли вы хотите иметь возможность добавить SSL в хранилище доверенных корневых центров сертификации.

Кев
источник
Привет, большое спасибо за вашу помощь. Определенно помог мне, что мне нужно сделать. Приветствия Джефф
Я не могу найти рабочую ссылку для загрузки IIS6 Resource Kit. Кто-нибудь знает, где его можно найти?
Джон Бубриски
@JohnBubriski - grr, MS действительно раздражает. Если вы можете подождать до пятницы, я могу где-нибудь наклеить копию.
Кев
На самом деле, я хорошо сейчас, я нашел способ. Я
выложу
0

Насколько я понимаю, проблема с IIS 7.x заключается в том, что вы не можете установить заголовок узла для привязки SSL.

Используя утилиту командной строки appcmd, вы сможете это сделать. Сайты могут использовать один и тот же сертификат, но будут иметь разные заголовки хоста.

Если вы выполняете следующие 2 команды со своими данными, он должен настроить заголовки хоста.

c:\Windows\System32\inetsrv>appcmd set site /site.name:"local.yourdomain.com" /+bindings.[protocol='https',bindingInformation='*:443:local.yourdomain.com']

c:\Windows\System32\inetsrv>appcmd set site /site.name:"local.dev.yourdomain.com" /+bindings.[protocol='https',bindingInformation='*:443:local.dev.yourdomain.com']

К сожалению, есть что-то еще, что вам нужно сделать, чтобы заставить это работать, но я не уверен, что именно. Я знаю, что произвел некоторые сбросы IIS и повторно выбрал сертификаты SSL, но я не уверен в том, в каком порядке это делать. Но я знаю, что я не делал ничего «причудливого», как использование другого инструмента.

Джон Бубриски
источник
Джон, так должно быть, пока сертификат загружен на сервер. Возможно, вам придется выбрать сертификат SSL для использования на каждом сайте.
Брент Пабст
Да, я думаю, что у меня уже есть самоподписанный сертификат, настроенный для 2 сайтов.
Джон Бубриски
0

OpenSSL также можно использовать для создания самозаверяющего сертификата, как описано в ответе на переполнение стека:

/programming//a/30517344/537961

richk
источник