намерих това отговор, но не изглежда да работи, когато се опитва да създаде сертификат за заместващ знак.
Направих следните стъпки:
- Добавя сертификат към моя сървър с командата Powershell.
New-SelfSignedCertificate -DnsName myhostname01,*.myhostname01 -CertStoreLocation Cert:LocalMachineMy
(Леко цензурирах URL адреса, за да избегна потенциално опасни ситуации).
След това използвах SSL сертификата в обвързването на моя IIS сървър.
Посетих страницата в Chrome. Както се очакваше, сертификатът е маркиран като опасен.
Запазих местно копие на сертификата и ръчно добавих копие от сертификата към доверените си сертификати от Chrome. Въпреки това сертификатът все още не се разпознава:
Подробностите за сертификата изглеждат така:
Сега сертификатите и URL адресът, които посещавам иса създали в моя хост файл са едни и същи. Няма правописни грешки. Моят въпрос: използвам ли New-SelfSignedCertificate погрешно? Или правя нещо погрешно някъде другаде?
Отговори:
12 за отговор № 1За всеки друг, който може да стигне до този въпрос, залепвайки върху това, което е останало от здравия им разум, отговорът, който в крайна сметка работеше за мен, беше следният:
New-SelfSignedCertificate -Subject *.my.domain -DnsName my.domain, *.my.domain -CertStoreLocation Cert:LocalMachineMy -NotAfter (Get-Date).AddYears(10)
-1 за отговор № 2
Един SSL сертификат за дива карта трябва да има такъвобектът със заместващия символ и останалите DNS имена трябва да бъдат в Името на субекта, което се осигурява от параметъра DNSName. Вярвам, че примерът по-долу ще направи това, което искате.
New-SelfSignedCertificate -Subject *.myhostname01 -DnsName myhostname01 -CertStoreLocation Cert:LocalMachineMy
dir Cert:LocalMachineMy | Where-Object {$_.Subject -eq "CN=*.myhostname01"} | ForEach-Object {
[PSCustomObject] @{
Subject = $_.Subject
SAN = $_.DnsNameList
}
}
резултат
Subject SAN
------- ---
CN=*.myhostname01 {myhostname01}