ГОСТ TLS на IIS в Windows Server: ставим сертификат и привязываем к сайту (2025)

Если сайт на IIS не поднимает ГОСТ TLS, почти всегда виноваты хранилище сертификатов, неверная привязка или проблемы с цепочкой УЦ. Разберём установку с нуля и диагностику.

1) Импорт сертификата с приватным ключом

Откройте certlm.msc на сервере. Импортируйте PFX с приватным ключом в «Личное (Personal) → Certificates». Убедитесь, что рядом с сертификатом есть ключевой значок.

Нужна помощь? Подключусь удалённо, перенесу ключи/сертификаты, настрою ГОСТ TLS на IIS и решу проблемы CRL/OCSP.

2) Привязываем сертификат к сайту

В «Диспетчере IIS» выберите нужный сайт → «Привязки...». Добавьте https на 443, укажите имя узла и выберите импортированный сертификат.

PowerShell (Администратор) — выполнять по одной:

Import-Module WebAdministration
Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject,Thumbprint,NotAfter
# Пример добавления привязки (адаптируйте под свой сайт)
New-WebBinding -Name "Default Web Site" -Protocol https -Port 443 -HostHeader "example.local"
# Назначение сертификата по отпечатку
$thumb = "THUMBPRINT_HERE"
netsh http add sslcert hostnameport=example.local:443 certhash=$thumb appid={00112233-4455-6677-8899-AABBCCDDEEFF}

3) Включаем журналирование Schannel

PowerShell (Администратор) — вставить целиком:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Force | Out-Null
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "EventLogging" -PropertyType DWord -Value 7 -Force | Out-Null
wevtutil sl "Microsoft-Windows-Schannel/Operational" /e:true
"Журнал Schannel включен"

4) Проверяем цепочку и порт

Командная строка — выполнять по одной:

certutil -store My
netsh http show sslcert
Test-NetConnection -ComputerName localhost -Port 443

Если рукопожатие с клиентами срывается — смотрите Schannel и убедитесь, что клиентам доверены Ваши корневые/промежуточные УЦ ГОСТ.

Читайте также: