IIS6: создание / установка SSL самозаверяющего сертификата из командной строки

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

насколько я понимаю мне нужно:

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

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

2 ответов


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

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

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

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

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

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


если вы используете 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

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

надеюсь, что это помогает.