ฉันกำลังพยายามตั้งค่าใบรับรองที่ลงนามด้วยตนเองสำหรับการเชื่อมต่อเซิร์ฟเวอร์ท่าเทียบเรือกับฐานข้อมูล sql การพัฒนา ฉันกำลังทำตามคำแนะนำที่นี่: https://codekabinett.com/rdumps.php?Lang=2&targetDoc=create-install-ssl-tls-certificate-sql-server แต่ฉันเจอสิ่งกีดขวางบนถนนเล็กน้อย เมื่อฉันพยายามติดตั้งใบรับรองในตัวจัดการเซิร์ฟเวอร์ sql ไม่มีใบรับรองใดแสดงในรายการดรอปดาวน์ ฉันคิดว่าอาจต้องเพิ่มใบรับรองเป็น Trusted ดังนั้นฉันจึงทำและลองอีกครั้งด้วยผลลัพธ์เดิม
ความสงสัยของฉันตอนนี้คือชื่อสามัญ (CN) ที่ฉันเลือกเมื่อสร้างใบรับรองไม่ตรงกับที่ sqlserver คาดหวัง ตามคำแนะนำ
ต้องเป็นชื่อคอมพิวเตอร์ (ชื่อคอมพิวเตอร์ Windows ภายในเครื่อง ไม่ใช่ชื่อ DNS) ของคอมพิวเตอร์ SQL Server
เซิร์ฟเวอร์ sql อยู่บนเครื่องระยะไกล ฉันจะทราบได้อย่างไรว่า CN ที่ถูกต้องสำหรับใบรับรองคืออะไร เป็นไปได้ไหมที่จะกำหนดค่าใบรับรองสำหรับเซิร์ฟเวอร์ sql นั้นโดยใช้ SQLServerManager ที่ทำงานบนเครื่องของฉัน ถ้าไม่ฉันจะไปเกี่ยวกับเรื่องนี้ได้อย่างไร
อัปเดต:
ฉันกำลังดำเนินการตรวจสอบว่าใบรับรองของฉันถูกต้องสำหรับใช้กับ sqlserver ฉันใช้แบบสอบถาม:
ประกาศ @Domain NVARCHAR(100)
EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE', 'SYSTEM\CurrentControlSet\services\Tcpip\Parameters', N'Domain',@Domain OUTPUT
เลือก Cast(SERVERPROPERTY('MachineName') เป็น nvarchar) + '.' + @โดเมน AS FQDN
เพื่อรับ FQDN และใช้เป็น CN สำหรับใบรับรอง ฉันตรวจสอบแล้วว่าเป็นคุณสมบัติ KeyUsage ของใบรับรอง การรับรองความถูกต้องของเซิร์ฟเวอร์ (1.3.6.1.5.5.7.3.1) . ฉันใช้ pfx ดังนั้นตัวเลือก KeySpec น่าจะดี ฉันเพิ่ม pfx ลงใน Trusted Root Certification Authorities
ฉันยังไม่เห็นใบรับรองเป็นตัวเลือกในตัวจัดการเซิร์ฟเวอร์ sql ดังนั้นต้องมีอย่างอื่นที่ฉันขาดหายไป สิ่งเดียวที่ฉันคิดได้คือความต้องการ
บัญชีบริการ SQL Server ต้องมีสิทธิ์ที่จำเป็นในการเข้าถึงใบรับรอง TLS
แต่ฉันไม่แน่ใจว่าจะตรวจสอบหรือแก้ไขได้อย่างไรหากผิดพลาด