1) Создадим корневой self-signed сертификат:
openssl req -new -x509 -newkey rsa:2048 -days 5000 -out c:\iis\ca.crt -keyout c:\iis\ca.key
* -new означает что мы хотим создать новый запрос
* -x509 что сразу хотим самоподписанный сертификат
* -newkey rsa:2048 Пусть тут же и ключик нам сгенерирует длиной 2048 бит. вместо rsa:<кол-во бит>, кстати, можно указывать dsa:<файл с параметрами> или ec:<файл с параметрами>
* -days 5000 — сертификат истечет через 5000 дней
* -out и -keyout указывают куда сохранить сертификат и закрытый ключ от него
При попытки сгенировать сертификат выходит ошибка:
WARNING: can't open config file: /usr/local/ssl/openssl.cnf
Unable to load config info from /usr/local/ssl/openssl.cnf
Решение:
* Открыть командную строку с административными правами
set OPENSSL_CONF=c:\openssl\bin\openssl.cfg
logoff
где C:\openssl — путь куда был установлен OpenSSL
Отвечаем на вопросы, в принципе можно заполнять поля чем угодно – главное не забудьте пароль
После серии несложных вопросов в папке iis появятся сертификат ca.crt и закрытый ключ от него ca.key
Теперь, чтобы IIS узнавал все сертификаты, подписанные корневым, нужноустановить корневой сертификат в хранилище доверенных центров сертификатов компьютера:
1. Запускаем mmc
2. Добавляем оснастку сертификаты и указываем, что она будет управлять сертификатами для учетной записи компьютера, иначе ничего не заведется.
3. Открываем «Доверенные корневые центры сертификации» и импортируем туда наш CA:

2) В консоли управления IIS нужно зайти в «Сертификаты сервера», вызвать меню по правой кнопке и нажать создать новый запрос сертификата. Сохраните его в c:\iis как server.csr
Теперь подпишем запрос сертификата сервера корневым сертификатом:
openssl ca -days 1000 -policy policy_anything -keyfile c:\iis\ca.key -cert c:\iis\ca.crt -in c:\iis\server.csr -out c:\iis\server.cer
-policy policy_anything означает, что сертификату будут предоставлены все возможные политики применения. Самый простой вариант. Остальные параметры, полагаю, в пояснении не нуждаются. Главное, не запутаться где какой файл указывать.
После этого у нас в c:\iis появится сертификат сервера server.cer, которы нужно установить в IIS.
Для этого мы опять идем в «сертификаты сервера», выбираем «Запрос установки сертификата» и там указываем c:\iis\server.cer.
Всё, сертификат у сервера есть.
Теперь нужно в привязках для узла создать новую https привязку и выбрать из списка наш серверный сертификат:

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

Источник: Habrahabr
0 Комментарии