Powershell - 在https绑定上设置SSL证书

时间:2015-09-04 04:29:46

标签: powershell iis ssl certificate

我正在尝试使用PowerShell在IIS站点上为自签名/本地证书设置SSL证书。

我创建证书:

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

然后尝试设置SSL绑定:

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

如此帖所示:http://www.iis.net/learn/manage/powershell/powershell-snap-in-configuring-ssl-with-the-iis-powershell-snap-in

也显示在这里: Powershell IIS7 Snap in Assign SSL certificate to https binding

我也尝试过:

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

无济于事,我没有在编辑网站绑定对话框中看到SSL证书设置。

有什么想法吗?

2 个答案:

答案 0 :(得分:26)

您必须将证书分配给特定网站。

您可以使用Get-WebBinding cmdlet检索网站的绑定信息,并使用$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") 功能设置SSL证书:

{{1}}

答案 1 :(得分:2)

使用答案时,我的错误与“卡盘D”相同,我发现还需要执行其他步骤:

在绑定到IIS网站绑定之前,SSL证书必须位于证书存储中。可以使用以下命令在powershell中完成此操作:

Import-PfxCertificate -FilePath "C:\path to certificate file\certificate.pfx" -CertStoreLocation "Cert:\LocalMachine\My"