IIS6: создание / установка SSL-сертификата с собственной подписью из командной строки - PullRequest
12 голосов
/ 17 августа 2011

Я хочу автоматизировать настройку SSL для веб-сайта в IIS6. Похоже, что для этого можно использовать selfSSL и certutil, но сертификаты для меня новы, и я не уверен, как их собрать.

Из того, что я понимаю, мне нужно:

  1. создать сертификат
  2. присвоить сертификат сайту
  3. добавить безопасную (SSL / 443) привязку к сайту

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

Ответы [ 2 ]

17 голосов
/ 25 августа 2011

Я бы посоветовал вам взглянуть на набор ресурсов IIS 6: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17275

В наборе ресурсов есть инструмент под названием selfssl.exe - он автоматизирует создание, назначение идаже доверять вновь созданному сертификату.Мы используем его довольно часто, когда я работаю над тем, чтобы у наших блоков разработки были сертификаты, которые мы можем использовать во время тестирования / разработки.

Вот команда, которую мы используем - она ​​создаст сертификат (для локального хоста), используяразмер ключа 1024, доверяйте ему и сделайте его действительным в течение ~ 10 лет:

selfssl.exe /T /N:CN=localhost /K:1024 /V:3650

Если вы размещаете несколько сайтов, вам нужно будет использовать параметр /S, чтобы указать идентификатор сайта, который выхочу добавить сертификат в.

Примечание: это также работает как чемпион с IIS 5 на WinXP, но я никогда не пробовал его ни на одном из семейств IIS 7.

1 голос
/ 25 августа 2011

Если вы используете Wix для авторизации вашей установки, тогда выполнение этой CustomAction (которая просто запускает SelfSSL ) подойдет вам:

<CustomAction Id="InstallCert" 
              ExeCommand="selfssl.exe /N:CN=fqdn.myserver.com /V:365" /> 

<InstallExecuteSequence> 
    <Custom Action="InstallCert" After="InstallFinalize" /> 
</InstallExecuteSequence> 

Это действие будет :

  • Создать сертификат
  • Установить сертификат на Default Web Site
  • Добавитьпривязка https

Объяснение командной строки:

/N:CN=[fully qualified server name]
/V: = Validity in days (365 in my example)

Вы можете указать порт с помощью переключателя /P:[port number].По умолчанию это 443, то есть то, что вы хотите, чтобы вы могли оставить его.

Предупреждение : Кажется, есть ошибка с SelfSSL, которая, кажется, была решена .

Если вы все еще сталкиваетесь с этим, альтернативой может быть переключение на инструмент SSLDiag, который имеет аналогичный синтаксис:

SSLDiag.exe /selfssl /n:CN=fqdn.myserver.com /v:365

У меня нет опыта работы с другими инструментами создания настроек (InstallShield и т. Д..) но я уверен, что у них есть условия для запуска программ командной строки.В худшем случае вы можете запустить это через командный файл!

Надеюсь, это поможет.

...