Я создаю самоподписанные сертификаты SSL в IIS 7.5 для внутреннего использования. Проблема в том, что я хочу создать их так, чтобы они прослужили 10 лет, поскольку это только среда разработки.
Я не вижу в IIS 7.5 опции, где можно указать срок действия сертификата. По умолчанию он создает сертификаты, срок действия которых истекает через 1 год.
Есть ли способ изменить это так, чтобы они были действительны в течение 10 лет?
Вы можете сделать это с помощью 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
- установить сертификат в id сайта 8
/k:2048
- используйте длину ключа 2048 бит.
К сожалению, нет возможности вывести SSL напрямую в файл, вы должны установить его на сайт. Однако хорошей новостью является то, что сертификат можно экспортировать.
Если вы хотите, чтобы предупреждение о том, что SSL не доверяет, при просмотре сайтов, использующих самоподписанный SSL, исчезло, вы также можете это исправить:
.pfx
файл (необходимо установить пароль, обязательно запомните его)mmc certmgr.msc
Просмотрите к Trusted Root Certificate Authorities -> Certificates
и щелкните правой кнопкой мыши, чтобы перейти к Import...
вариант:
Следуйте указаниям мастера и укажите .pfx
для импорта нажмите «Далее» (вам понадобится пароль, который вы установили на шаге 1):
На следующем шаге мастера нам нужно выбрать, какой магазин использовать. Щелкните значок Browse...
кнопка, которая откроет Select Certificate Store
окно. Нам нужно увидеть физические магазины, поэтому убедитесь, что в Show physical stores
:
Развернуть Trusted Root Certificate Authorities
и выберите Local Computer
согласно снимку экрана выше, затем нажмите OK
а потом Next >
Щелкните значок Finish
на последнем шаге мастера, и если все в порядке, вы должны увидеть:
Предостережения и подводные камни:
SelfSSL может необходимо установить компоненты совместимости управления IIS6. Я не могу сказать, потому что на моих собственных машинах это уже установлено, и у меня нет виртуальной машины, чтобы проверить эту теорию, удалив их.
Выдать SSL для cn=www.mydomain.com
и нет cn=mydomain.com
если вы хотите добавить SSL в хранилище доверенных корневых центров сертификации.
OpenSSL также можно использовать для создания самоподписанного сертификата, как описано в этом ответе на переполнение стека:
Насколько я понимаю, проблема 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, но я не уверен в том, в каком порядке это делать. Но я знаю, что я не делал ничего такого «необычного», как использование другого инструмента.