SQLServer 自签证书配置SSL连接
创作时间:
作者:
@小白创作中心
SQLServer 自签证书配置SSL连接
引用
1
来源
1.
https://www.cnblogs.com/marshwinter/p/18271227
在当今数字化时代,数据库的安全性至关重要。本文将详细介绍如何为SQL Server配置SSL连接,通过自签证书的方式增强数据传输的安全性。从环境准备到最终的连接测试,每个步骤都配有详细的命令行操作指导,帮助读者轻松掌握这一重要技能。
一、安装SQLServer数据库
在开始配置SSL连接之前,需要确保SQL Server已经正确安装。这里需要注意以下两点:
开启SQLServer的远程TCP/IP连接功能
打开随SQLServer一并安装的Sql Server Configuration Manager配置软件防火墙设置
如果是云上环境,可能还需要配置相关VPC以及安全组等网络配置,确保客户端所在机器可以连通SQLServer所在服务器。可以在客户端所在机器,利用命令curl -kv {ip}:{port}
检验是否连通。
二、自签证书生成
SQLServer的证书校验机制使用到了证书的扩展字段SAN(Subject Alternative Name)来确定连接主体的是否可信,所以生成的证书可以包含SAN字段,用以包含所以可能的SQLServer用到的IP以及域名(比如NAT场景下)。
- 准备openssl配置文件req.conf
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
C = {国家}
ST = {省}
L = {市}
O = {组织}
OU = {组织单元}
CN = {证书主体唯一标识}
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = {可能使用的SAN-1:IP/域名}
DNS.2 = {可能使用的SAN-2:IP/域名}
DNS.3 = {可能使用的SAN-3:IP/域名}
- 生成Certificate Signing Request(CSR,证书签名请求)以及私钥
openssl req -new -out company_san.csr -newkey rsa:2048 -nodes -sha256 -keyout company_san.key.temp -config req.conf
可以通过命令验证生成的证书请求是否符合预期
openssl req -text -noout -verify -in company_san.csr
- 将PKCS#8格式的私钥文件company_san.key.temp转换成RSA格式
openssl rsa -in company_san.key.temp -out company_san.key
- 生成带有SAN扩展字段的证书文件
openssl x509 -req -days 999999 -in company_san.csr -signkey company_san.key -out company_san.crt -extensions v3_req -extfile req.conf
- 将私钥和证书一起打包成PKCS#12格式,用pfx或者p12作为后缀即可
openssl pkcs12 -export -out company_san.p12 -inkey company_san.key -in company_san.crt -password pass:123456
- 利用 keytool 将pfx格式证书转换成jks格式,方便jdbc连接
keytool -importkeystore -srckeystore company_san.p12 -srcstoretype PKCS12 -srcstorepass 123456 -destkeystore company_san.jks -deststoretype JKS -deststorepass 123456 -destkeypass 123456
三、将证书导入SQLServer所在服务器
在Windows系统中,可以通过以下步骤将证书导入:
- 按下
Win + R
打开运行对话框 - 输入
certlm.msc
打开证书管理器 - 在个人证书下 -> 所有任务 -> 导入
- 按照提示完成证书导入
四、SQLServer的证书配置
- 打开随SQLServer一并安装的Sql Server Configuration Manager配置软件
- 选择属性 -> Certificate选项页
- 选择下拉列表,如果生成的证书的CN信息中包含计算机名的话,可以在这里找到。
- 或者利用Import功能进行导入
五、测试连接SSL连接是否配置成功
- 在需要连接的windows主机上面,将之前生成的company_san.p12证书导入可信根证书目录中
- 打开SQL Server Management Studio Management(SSMS), 在"连接到服务器"中,填写正确的信息,
注:这里的ip地址,192.168.9.120 已经在上面生成的证书SAN信息中了 - 点击选项,在“连接属性”中勾选“加密连接”,这里不勾选“信任服务器证书”,保证使用的上面配置的证书,要不然会使用SQLServer服务启动内部自生成的证书,点击连接
- 确认连接成功后,执行SQL,确定当前连接时加密的
SELECT encrypt_option
FROM sys.dm_exec_connections where session_id = @@SPID;
六、参考链接
热门推荐
河北57岁教师用AI辅助英语教学登上热搜,创新教学方法获学生好评
【2025最新】DS-160表格填写步骤:7步搞定美国签证申请
背部出汗后产生瘙痒应如何处理
电瓶车突然不通电了应该如何处理?
如何确认租房时的房东真实性?判断房东身份时可能会出现哪些错误?
《天国:拯救 2》的最佳 PC 设置可实现高 FPS 和令人惊叹的图形效果
电机原理及在人形机器人中的作用
如何检查车胎慢慢漏气
如何正确了解和使用住房公积金?这种使用方式存在哪些限制?
量刑中的酌定从轻与从重情节
重回焦点的CCD相机
落枕—常见肩颈部疼痛的症状成因和干预方法
速冻水饺怎么煮 煮速冻水饺要注意什么
制作传奇私服犯法吗 —— 解读游戏版权与法律边界
河北安平以科技创新推动工业技改 张张丝网织起千亿元产业集群
NBA裁员:球队单方面放弃球员的操作详解
罗杰斯的自我理论:人本主义心理学的重要贡献
复盘《黑神话:悟空》文化出海的得与失,究竟给国产游戏怎样的启示
为什么光速会被限定为每秒30万km?是什么限制了光的速度?
不作为是属于间接故意吗
单核主频高的CPU排名:台式机与移动平台处理器对比
什么是二次曲面?什么是三次曲面?(含曲面算法公式)
大胆创新教学方法 用心用情温暖学生 看新生代老师们的圈粉妙招
抄税和清卡什么时候操作:税务合规与法律风险防范指南
意大利维苏威火山
左侧交易与右侧交易:构建适合自己的投资体系
肋骨外翻可以通过这种方式纠正
钢铁科普:27SiMn中碳调制结构钢,27SiMn执行标准、交货状态说明
Windows系统中"更改驱动器号和路径"选项变灰的解决方案
研究范围:界定界限和重点