Sql-Server-2017

SQL Server 加密連接 - 配置管理器看不到證書

  • February 27, 2020

我的目標是在測試 SQL Server 實例上實現加密連接

首先,嘗試在證書管理單元 (certlm.msc) 中創建自簽名證書,個人 > 所有任務 > 請求新證書…

但創建失敗,因為測試 SQL Server 機器無法聯繫(沒有網路連接)安裝了 AD 證書服務的 AD 伺服器之一。

它可以聯繫其他一些 AD 伺服器,但這些伺服器沒有 AD CS,可能係統管理員會幫助解決它,但不是今天。

所以我繼續使用“New-SelfSignedCertificate”PowerShell cmdlet,它可以創建自簽名證書

嘗試了以下創建證書的方法:

New-SelfSignedCertificate -Subject "TEST-SQL-SERVER.domain.com" -DnsName "TEST-SQL-SERVER.domain.com" -CertStoreLocation "cert:\LocalMachine\My"

New-SelfSignedCertificate -Subject "TEST-SQL-SERVER.domain.com" -DnsName "TEST-SQL-SERVER.domain.com","TEST-SQL-SERVER" -CertStoreLocation "cert:\LocalMachine\My"

New-SelfSignedCertificate -Subject "TEST-SQL-SERVER.domain.com" -DnsName "TEST-SQL-SERVER.domain.com","TEST-SQL-SERVER" -CertStoreLocation "cert:\LocalMachine\My" -TextExtension "2.5.29.37={text}1.3.6.1.5.5.7.3.1"

New-SelfSignedCertificate -Subject "TEST-SQL-SERVER.domain.com" -DnsName "TEST-SQL-SERVER.domain.com","TEST-SQL-SERVER" -CertStoreLocation "cert:\LocalMachine\My" -TextExtension "2.5.29.37={text}1.3.6.1.5.5.7.3.1" -KeyAlgorithm RSA -KeyLength 2048

New-SelfSignedCertificate -Subject "CN=TEST-SQL-SERVER.domain.com" -DnsName "TEST-SQL-SERVER.domain.com","TEST-SQL-SERVER" -CertStoreLocation "cert:\LocalMachine\My" -TextExtension "2.5.29.37={text}1.3.6.1.5.5.7.3.1" -KeyAlgorithm RSA -KeyLength 2048

New-SelfSignedCertificate -Subject "CN=TEST-SQL-SERVER.domain.com" -DnsName "TEST-SQL-SERVER.domain.com","TEST-SQL-SERVER" -CertStoreLocation "cert:\LocalMachine\My" -TextExtension "2.5.29.37={text}1.3.6.1.5.5.7.3.1" -KeyAlgorithm RSA -KeyLength 2048 -KeySpec KeyExchange

每次生成證書後,在證書管理單元中右鍵點擊它,所有任務 > 管理私鑰…並授予 SQL Server 服務帳戶的讀取和完全控制權限

但是,在 SQL Server 配置管理器中,每次我轉到 SQL Server 網路配置 > MSSQLSERVER 的協議 > 屬​​性時,我都無法在“證書”選項卡上看到新生成的證書

PS 還嘗試在我的 PowerShell 命令中添加“-KeySpec KeyExchange”,但 Windows 安全需要一些智能卡,我無法繼續

問題:我錯過了什麼?

如何正確創建將在 SQL Server 配置管理器中可見的自簽名證書?

評論回复:

嘗試包含-Type SSLServerAuthenticationNew-SelfSignedCertificatecmdlet 中以確保證書用於伺服器身份驗證,這是 SQL SSL 證書的要求。此外,請查看此連結以獲取用於生成合適的自簽名證書的範例 PowerShell 腳本

引用自:https://dba.stackexchange.com/questions/260653