Sql-Server

無法為 SQL Server 2017 (14.x.xxxx) 創建自簽名證書

  • February 17, 2022

使用 SQL Server 2017 開發者版

自簽名證書錯誤

我正在使用的命令是:

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

錯誤資訊是:

New-SelfSignedCertificate:找不到與參數名稱“KeySpec”匹配的參數。

我的 powerShell 版本是:

PS C:\Windows\system32> $PSversionTable

名稱 值
---- -----
PS版本 4.0
WSManStackVersion 3.0
序列化版本 1.1.0.1
CLRVersion 4.0.30319.42000
建構版本 6.3.9600.18773
PSCompatibleVersions {1.0、2.0、3.0、4.0}
PSRemotingProtocolVersion 2.2

您需要用雙引號將 CertStoreLocation、Subject、DnsName 和 FriendlyName 括起來。

無需指定位置,因為它將預設為“本地電腦/個人/證書”,以便 SQL Server 使用它。

這將在 Windows Server 2016 上生成可供 SQL Server 2017 使用的有效證書:

New-SelfSignedCertificate -Subject "CN=insert FQDN here" -DnsName "<insert FQDN here>","insert NetBIOS name here" -FriendlyName "Self Signed Certificate Friendly Name" -KeySpec KeyExchange -KeyLength 2048 -NotAfter (Get-Date).AddYears(5)

請將“在此處插入 FQDN”和“在此處插入 NetBIOS 名稱”替換為實際的 FQDN 和 NetBIOS 名稱,並保留雙引號。

3 天后,我設法在本地與我的 SQL Server 2017 建立連接。在這裡我所做的,我知道這不是一個好方法,但有些方法對我有用!

  1. 為埠 1433(TCP 和 UDP)添加了入站新規則
  2. 為埠 1433(TCP 和 UDP)添加了出站新規則
  3. 在我的情況下,允許我的客戶端應用程序在防火牆中使用它的 Android Studio。
  4. 使用我的 Android 應用進行測試,現在不需要 SSL。

顯示成功測試連接的 Windows 螢幕截圖

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