【问题标题】:Create SQL Server SSL [closed]创建 SQL Server SSL [关闭]
【发布时间】:2022-01-27 19:14:19
【问题描述】:

我想在我的 Windows Server 2016 上创建一个 SQL Server 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 上使用它时,它会创建证书,但在下一步中,当我需要在协议窗口(在配置管理器中),“下拉”列表中的证书为空。

我完全按照上面写的那样使用了 PowerShell 行,我需要在这行中更改一些内容吗?证书是否因此丢失或其他原因?

【问题讨论】:

标签: powershell ssl-certificate sql-server-2017 windows-server-2016


【解决方案1】:

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

根据 SQL Server 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

【讨论】:

  • 谢谢,DnsName 应该是“计算机全名”,不需要后缀。
  • 对不起,我的意思是DNSName,我在答案中修改了它
【解决方案2】:

在那个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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多