В этом руководстве показано, как создать CSR (запрос на подписание сертификата) на Microsoft IIS (Internet Information Services) на Windows Server. Вы можете сформировать запрос двумя способами: через графический интерфейс IIS Manager (классический мастер с пошаговыми окнами) или с помощью certreq.exe и INF-файла из PowerShell. Оба способа сохраняют закрытый ключ на сервере в хранилище сертификатов Windows и создают запрос PKCS #10, который вы отправляете в свой удостоверяющий центр (CA).
Важная оговорка, о которой нужно знать заранее: мастер IIS Manager не добавляет в запрос Subject Alternative Name (SAN), а все публичные CA теперь требуют, чтобы имя хоста присутствовало в SAN, а не только в Common Name. Если вам нужен SAN (а он нужен почти всегда), используйте метод certreq.exe, описанный ниже, либо создайте CSR вне сервера с помощью нашего генератора CSR и импортируйте выпущенный сертификат в виде файла .pfx.
Войдите как администратор на сервер Windows Server, который вы хотите защитить (или на рабочую станцию, на которой запущен сайт IIS), затем перейдите к разделу, соответствующему вашей версии IIS. Приведённые ниже шаги охватывают IIS 10 на Windows Server 2025, 2022, 2019 и 2016 (а также IIS 10 на клиентских Windows 10 и Windows 11), а также более старые мастеры IIS 8 / 8.5 / 7 / 6 для устаревшей инфраструктуры.
Создание CSR на IIS 10 (Windows Server 2016-2025)
IIS 10 — это версия, которая поставляется с Windows Server 2016, 2019, 2022 и 2025, а также функция IIS на клиентских Windows 10 и Windows 11. Интерфейс Manager одинаков во всех этих выпусках.
Шаг 1: Откройте IIS Manager
- Нажмите Win + R, введите
inetmgrи нажмите Enter, либо - Откройте меню Пуск и найдите Internet Information Services (IIS) Manager.
Шаг 2: Откройте раздел Server Certificates
- В панели Connections слева щёлкните имя сервера.
- В центральной панели (Home) дважды щёлкните Server Certificates.
Шаг 3: Запустите создание запроса на сертификат
В панели Actions справа нажмите Create Certificate Request. Откроется диалоговое окно Distinguished Name Properties.
Шаг 4: Заполните Distinguished Name
Укажите данные субъекта ниже. Используйте только стандартные ASCII-символы; символы, не относящиеся к латинице, приводят к ошибке запроса:
- Common Name: полное доменное имя (FQDN), которое вы хотите защитить, например www.example.com. Для wildcard-сертификата поставьте звёздочку перед корневым доменом, например *.example.com.
- Organization: полное юридическое название вашей компании, в точности как оно зарегистрировано. Обязательно для сертификатов OV и EV. Для сертификатов с проверкой домена (DV) это поле игнорируется, поэтому можно указать любое короткое значение-заполнитель.
- Organizational unit: название подразделения, например IT или Web. Этот атрибут устарел для публичных сертификатов (CA/Browser Forum постепенно отказывается от него), поэтому оставьте минимальное значение или пропустите поле, если диалог это позволяет.
- City/locality: город, где зарегистрирована ваша организация, написанный полностью (например, Seattle, а не SEA).
- State/province: полное название штата или региона (например, Washington, а не WA).
- Country/region: двухбуквенный код страны по стандарту ISO (например, US, GB, DE).
Проверьте все поля и нажмите Next.
Шаг 5: Выберите поставщика криптографических услуг и длину ключа
В диалоговом окне Cryptographic Service Provider Properties:
- Cryptographic service provider: выберите Microsoft RSA SChannel Cryptographic Provider. Это правильный выбор для RSA-сертификата, обслуживаемого IIS по HTTPS. (Выбирайте Microsoft DH SChannel Cryptographic Provider только в редких случаях, когда требуется ключ Diffie-Hellman, что не используется для обычного веб-TLS.)
- Bit length: выберите 2048. Это текущий минимум, принимаемый всеми публичными CA. Выбирайте 3072 или 4096 только если этого требует ваша политика безопасности; недостатком будет немного более медленное установление TLS-соединения.
Нажмите Next.
Шаг 6: Сохраните файл CSR
В диалоговом окне File Name нажмите кнопку обзора и выберите папку, которую вы легко найдёте позже, затем введите имя файла с расширением .txt, например certreq.txt. Не соглашайтесь на путь по умолчанию C:WindowsSystem32: в этой папке неудобно искать файлы, и у вас может не быть прав на запись из-за UAC. Рабочий стол или отдельная папка C:certs подходят лучше.
Нажмите Finish. IIS запишет CSR по выбранному пути и сохранит соответствующий закрытый ключ как ожидающий запрос в хранилище сертификатов Windows на этом сервере.
Шаг 7: Скопируйте CSR и отправьте его в CA
Откройте сохранённый файл в Notepad (или любом текстовом редакторе). Вы увидите блок такого вида:
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDXjCCAkYCAQAwgZQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9u
... (many lines of base64) ...
-----END NEW CERTIFICATE REQUEST-----
Выделите весь блок, включая строки BEGIN NEW CERTIFICATE REQUEST и END NEW CERTIFICATE REQUEST, скопируйте его и вставьте в поле CSR в форме заказа. Когда CA проверит запрос и выпустит ваш сертификат, следуйте инструкции как установить SSL-сертификат на IIS и используйте Complete Certificate Request, чтобы связать выпущенный файл .cer с ожидающим ключом на этом сервере.
Мастер IIS Manager не добавляет SAN
Мастер, описанный выше, создаёт запрос, единственным именем хоста в котором является Common Name. Современные браузеры и клиенты (Chromium, Firefox, Safari, .NET, Java, Go) проверяют соответствие имени хоста только по расширению Subject Alternative Name; Common Name не учитывается при принятии решений о доверии начиная с 2017 года. Публичные CA решают эту проблему, автоматически копируя CN в запись SAN для заказов на одно имя, поэтому запрос только с CN всё же работает для одного имени хоста. Но:
- Если вам нужно несколько имён хостов в одном сертификате (например, example.com и www.example.com, или мультидоменный сертификат), мастер IIS Manager не может закодировать их.
- Если ваш CA принимает запросы строго в том виде, в каком они отправлены, отсутствие SAN может привести к отклонению запроса даже для одного имени хоста.
Для чего-либо помимо одного имени используйте метод certreq.exe, описанный ниже, или создайте CSR с помощью нашего генератора CSR и импортируйте выпущенный сертификат в IIS в виде файла .pfx.
Создание CSR с помощью certreq.exe и INF-файла (с поддержкой SAN)
Инструмент командной строки certreq.exe входит в состав каждого Windows Server и позволяет указать SAN, длину ключа, точный субъект и провайдера. Процесс состоит из трёх частей: создать INF-файл запроса, выполнить команду certreq -new для генерации CSR (и соответствующего ключа в хранилище Windows), затем отправить CSR в свой CA.
Шаг 1: Создайте INF-файл запроса
Откройте Notepad от имени администратора и сохраните файл ниже как request.inf. Отредактируйте строку Subject и записи DNS в разделе [Extensions] в соответствии со своим доменом:
[Version]
Signature="$Windows NT$"
[NewRequest]
Subject = "CN=www.example.com, O=Example Inc, L=Seattle, S=Washington, C=US"
KeySpec = 1
KeyLength = 2048
Exportable = TRUE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0
[EnhancedKeyUsageExtension]
OID = 1.3.6.1.5.5.7.3.1
[Extensions]
2.5.29.17 = "{text}"
_continue_ = "dns=www.example.com&"
_continue_ = "dns=example.com"
Примечания к значениям:
- Subject: одна строка, поля разделены запятыми. Используйте двухбуквенный код страны ISO в C=.
- KeyLength: минимум 2048. Установите 3072 или 4096, если это требуется по вашей политике.
- Exportable = TRUE: позволяет экспортировать закрытый ключ вместе с выпущенным сертификатом (для резервного копирования или установки на другой сервер). Установите FALSE, если хотите привязать ключ к этому компьютеру.
- MachineKeySet = TRUE: сохраняет ключ в хранилище локального компьютера (откуда его считывает IIS). Оставьте это значение для IIS.
- 2.5.29.17: OID для Subject Alternative Name. Добавьте по одной строке _continue_ на каждое имя хоста; каждая строка, кроме последней, должна заканчиваться разделителем &.
Шаг 2: Создайте CSR
Откройте командную строку Command Prompt или PowerShell с повышенными правами в папке, содержащей request.inf, и выполните:
certreq -new request.inf certreq.txt
certreq создаёт закрытый ключ в хранилище локального компьютера и записывает запрос PKCS #10 в файл certreq.txt. Откройте файл, скопируйте весь блок от BEGIN NEW CERTIFICATE REQUEST до END NEW CERTIFICATE REQUEST и отправьте его в форме заказа, так же как в методе через IIS Manager.
Когда CA вернёт выпущенный сертификат, завершите процесс командой:
certreq -accept certnew.cer
Это связывает выпущенный сертификат с закрытым ключом, ожидавшим в хранилище, и сертификат становится доступен для привязки в IIS.
Проверьте CSR перед отправкой (необязательно)
Перед отправкой запроса в свой CA стоит убедиться в правильности Common Name, записей SAN и размера ключа. На сервере встроенный инструмент certutil позволяет прочитать запрос:
certutil -dump certreq.txt
Если у вас установлен OpenSSL (Windows не поставляется с ним по умолчанию; его можно установить отдельно, например из сборки Shining Light Productions), эта команда выведет те же сведения:
openssl req -noout -text -in certreq.txt
Предпочитаете онлайн-инструмент? Вставьте содержимое запроса в декодер CSR от SSL Dragon, чтобы прочитать Common Name, записи SAN и размер ключа. Убедитесь, что Common Name совпадает с именем хоста, которое будут использовать клиенты, и что все необходимые имена присутствуют в списке Subject Alternative Name.
Создание CSR на IIS 8 и 8.5 (Windows Server 2012 / 2012 R2)
Мастер IIS 8 / 8.5 идентичен мастеру IIS 10. Расширенная поддержка Windows Server 2012 и 2012 R2 завершилась в октябре 2023 года, поэтому запланируйте перенос этих рабочих нагрузок на актуальную версию Windows Server; до этого момента приведённые ниже шаги всё ещё работают.
- Нажмите Win + R, введите
inetmgrи нажмите OK. (Либо откройте Internet Information Services (IIS) Manager с экрана Start.) - В разделе Connections выберите сервер, затем дважды щёлкните Server Certificates в панели Home.
- В разделе Actions нажмите Create Certificate Request.
- В диалоге Distinguished Name Properties заполните поля Common Name, Organization, Organizational unit, City/locality, State/province и Country/region точно так, как описано выше для IIS 10 (только стандартные ASCII-символы, полные названия штатов и городов, двухбуквенный код страны). Нажмите Next.
- В диалоге Cryptographic Service Provider Properties выберите Microsoft RSA SChannel Cryptographic Provider и установите Bit length равным 2048. Нажмите Next.
- В диалоге File Name выберите папку, которую легко найти позже, и сохраните файл с расширением .txt (например, certreq.txt). Нажмите Finish.
- Откройте сохранённый файл в Notepad, скопируйте весь блок от BEGIN NEW CERTIFICATE REQUEST до END NEW CERTIFICATE REQUEST и вставьте его в форму заказа.
Такое же ограничение по SAN применимо и на IIS 8 / 8.5: если вам нужно больше одного имени хоста, используйте метод certreq.exe, описанный выше.
Создание CSR на IIS 7 (Windows Server 2008 / 2008 R2)
Поддержка Windows Server 2008 и 2008 R2 давно завершена, поэтому мастер IIS 7 следует рассматривать как устаревшую процедуру для систем, которые пока нельзя заменить. Процесс аналогичен IIS 8 / 10:
- Нажмите Win + R, введите
inetmgrи нажмите OK, либо откройте Start > Administrative Tools > Internet Information Services (IIS) Manager. - В разделе Connections выберите имя сервера, затем дважды щёлкните Server Certificates.
- В разделе Actions нажмите Create Certificate Request.
- В диалоге Distinguished Name Properties введите Common Name, Organization, Organizational unit, City/locality, State/province и Country/region, как описано для IIS 10. Нажмите Next.
- В диалоге Cryptographic Service Provider Properties выберите Microsoft RSA SChannel Cryptographic Provider и 2048 бит. Нажмите Next.
- Нажмите кнопку обзора под пунктом Specify a file name for the certificate request, выберите папку, введите имя файла с окончанием .txt и нажмите Finish.
- Откройте сохранённый файл в Notepad, скопируйте весь блок запроса (включая строки BEGIN NEW CERTIFICATE REQUEST и END NEW CERTIFICATE REQUEST) и вставьте его в форму заказа.
Создание CSR на IIS 5 и 6 (устаревшие)
IIS 5 и 6 (Windows 2000 Server и Windows Server 2003) уже давно не поддерживаются и не должны использоваться для публичных сайтов. Используйте этот раздел только если вы поддерживаете устаревшую инфраструктуру, которую пока не можете заменить:
- Откройте Start > Control Panel > Administrative Tools > Internet Information Services.
- Щёлкните правой кнопкой мыши по Default Web Site (или вашему сайту) и выберите Properties.
- Откройте вкладку Directory Security и нажмите Server Certificate.
- В IIS Certificate Wizard выберите Create a new certificate и нажмите Next.
- Выберите Prepare the request now, but send it later и нажмите Next.
- Введите описательное имя для сертификата, установите Bit length равным 2048, оставьте остальные флажки не отмеченными и нажмите Next.
- Введите юридическое название организации и подразделение (используйте короткое обозначение, например IT). Нажмите Next.
- В поле Common Name введите FQDN вашего сайта, например www.example.com. Нажмите Next.
- Заполните поля Country/region, State/province и City/locality, затем нажмите Next.
- Выберите папку и имя файла (сохраните как .txt), нажмите Next, просмотрите сводку и снова нажмите Next, чтобы записать CSR.
- Откройте файл в Notepad, скопируйте весь блок запроса и вставьте его в форму заказа.
После того как CA проверит ваш CSR и выпустит сертификат, продолжите с инструкциями по установке SSL на IIS.
Сэкономьте 10% на SSL-сертификатах при заказе сегодня!
Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

