Sql-Server-2017
SQL Server 加密連接 - 配置管理器看不到證書
我的目標是在測試 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 SSLServerAuthentication
在New-SelfSignedCertificate
cmdlet 中以確保證書用於伺服器身份驗證,這是 SQL SSL 證書的要求。此外,請查看此連結以獲取用於生成合適的自簽名證書的範例 PowerShell 腳本