IIS6: создание / установка SSL самозаверяющего сертификата из командной строки
Я хочу автоматизировать настройку SSL для веб-сайта в IIS6. Кажется, selfSSL и certutil можно использовать для этого, но сертификаты для меня новые, и я не уверен, как их собрать.
насколько я понимаю мне нужно:
- создать сертификат
- присвоить сертификат веб-сайту
- добавить безопасную (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
у меня нет опыта работы с другими инструментами создания настроек (Установки и т. д.) но я уверен, что у них есть положения для запуска программ командной строки. В худшем случае, вы можете запустить это через пакетный файл!
надеюсь, что это помогает.