web-dev-qa-db-fra.com

Powershell - Définir un certificat SSL sur la liaison https

J'essaie d'utiliser PowerShell pour définir le certificat SSL sur un site IIS pour un certificat auto-signé/local.

Je crée le certificat:

$newCert = 
       New-SelfSignedCertificate 
       -DnsName www.mywebsite.ru 
       -CertStoreLocation cert:\LocalMachine\My

Essayez ensuite de définir les liaisons SSL:

get-item 
      cert:\LocalMachine\MY\$newCert.Thumbprint | 
      new-item -path IIS:\SslBindings\0.0.0.0!443

comme indiqué sur ce post: http://www.iis.net/learn/manage/powershell/powershell-snap-in-configuring-ssl-with-the-iis-powershell-snap-in

également affiché ici: Powershell IIS7 Snap in Assign SSL certificate to https binding

J'ai aussi essayé:

get-item 
      cert:\LocalMachine\MY\$newCert.Thumbprint | 
      new-item -path IIS:\SslBindings\*!443

En vain, je ne vois pas le certificat SSL défini dans la boîte de dialogue Modifier la liaison de site.

Des pensées?

20
Kent Fehribach

Vous devez attribuer le certificat à un site spécifique .

Vous pouvez récupérer les informations de liaison de votre site à l'aide de l'applet de commande Get-WebBinding et définir le certificat SSL à l'aide de la fonction AddSslCertificate:

$siteName = 'mywebsite'
$dnsName = 'www.mywebsite.ru'

# create the ssl certificate
$newCert = New-SelfSignedCertificate -DnsName $dnsName -CertStoreLocation cert:\LocalMachine\My

# get the web binding of the site
$binding = Get-WebBinding -Name $siteName -Protocol "https"

# set the ssl certificate
$binding.AddSslCertificate($newCert.GetCertHashString(), "my")
30
Martin Brandl