Назад | Перейти на главную страницу

Как создать самоподписанный сертификат SAN в IIS?

Можно ли создать в IIS самоподписанный ssl-сертификат SAN? Если да, то как мне его создать? В IIS я вижу только возможность создания обычного ssl-сертификата:

К сожалению, диспетчер IIS не может создавать сертификаты или запросы с расширением SAN. Вы должны использовать что-то другое. Например, PowerShell или certreq.exe (оба включены в комплект).

PowerShell

Минимальные обязательные параметры

New-SelfsignedCertificate `
    -DnsName "mysite.com","www.mysite.com" `
    -CertStoreLocation cert:\localmachine\my

Более подробные параметры

New-SelfsignedCertificate -Subject "CN=www.mysite.com" `
    -DnsName "mysite.com","www.mysite.com" `
    -EKU "Server Authentication" `
    -KeySpec "KeyExchange" ` 
    -KeyUsage "DigitalSignature", "KeyEncipherment" `
    -FriendlyName "My web site"
    -NotAfter $([datetime]::now.AddYears(1)) `
    -CertStoreLocation cert:\localmachine\my

CertReq.exe

Подготовьте файл шаблона INF (с расширением файла .inf) со следующим содержимым:

[NewRequest]
Subject = "CN=www.mysite.com"
KeyLength = 2048
KeyAlgorithm = RSA
ProviderName = "Microsoft Enhanced RSA and AES Cryptographic Provider"
MachineKeySet = true
KeySpec = 1
KeyUsage = 0xa0
RequestType = Cert
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ; server authentication
[Extensions] 
2.5.29.17 = "{text}" 
_continue_ = "dns=mysite.com&" 
_continue_ = "dns=www.mysite.com"

А затем выполните следующую команду для этого INF-файла:

certreq -new path\myinftemplate.inf

Какая версия винды? Если это более новая версия Windows, вероятно, будет проще просто открыть PowerShell и использовать New-SelfSignedCertificate командлет. Вы можете использовать -DnsName чтобы предоставить список всех имен, которые вы хотите использовать в своей SAN.