创建 SQL 服务器 SSL

Create SQL Server SSL

我想在我的 Windows 服务器 2016 上创建一个 SQL 服务器 SSL 证书,我按照这个 Youtube 视频 https://www.youtube.com/watch?v=m7ONeACYBdE&t=182s

中显示的步骤操作

演示者在视频中发布了此 PowerShell 行:

New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName host.doman.com -KeySpec KeyExchange -FriendlyName SQLCer

不幸的是,演示者没有解释是否应该在此行中更改某些内容或者它是否是通用的,所以当我在我的 PowerShell 上使用它时,它会创建证书,但在下一步中,当我需要 select它在协议Window(在配置管理器中),“下拉”列表中的证书是空的。

我完全按照上面写的方式使用了 PowerShell 行,我需要更改此行中的某些内容吗?证书是因为那个原因丢失还是其他原因?

根据您提出的修改部分的问题,您需要更改“DnsName”host.doman.com并替换为您的dns名称

根据SQL服务器SSL证书请检查以下URL步骤

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/9b29f5e8-67fc-40d1-9bde-1521cbdfe07e/sql-server-2008-ssl-certificate-list-blank?forum=sqlgetstarted

在那个Powershell语句中,你应该用DNS名称修改它,并添加“服务器身份验证”扩展,如下:

New-SelfSignedCertificate `
  -CertStoreLocation Cert:\LocalMachine\My `
  -DnsName YOURSERVERADDRESSHERE `
  -KeySpec KeyExchange `
  -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1") `
  -FriendlyName SQLCer

其中 YOURSERVERADDRESSHERE 是用于连接到您的服务器的地址,例如 SqlServer.MyDomain.com.


即使在这之后,您也可能看不到下拉列表中的证书。相反,您可以手动将其插入注册表。

在 Powershell 中,执行 $cert.Thumprint.

然后获取该值并将其作为 HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<YourSQLServerInstance>\MSSQLServer\SuperSocketNetLib 处的值插入名为 Certificate.

的键中