Windows下SqlServer安装证书

参考文章链接

[How To]如何给SQL Server配置证书:
https://learn.microsoft.com/zh-cn/archive/blogs/apgcdsd/how-tosql-server

准备证书

使用OpenSSL生成证书

安装OpenSSL证书生成工具

安装参考链接:
https://blog.csdn.net/qq_30150579/article/details/128796446

生成证书

  1. 创建 CSR(Certificate Signing Request)

    使用私钥创建证书签名请求(CSR),其中可以指定一些详细信息,如组织名称、域名等。

    openssl req -x509 -nodes -days 9999 -newkey rsa:2048 -keyout C:\Users\11617\Desktop\中转\证书\bis-server.key -out C:\Users\11617\Desktop\中转\证书\bis-server.crt -config C:\Users\11617\Desktop\中转\证书\bis-server.conf
    

    在这个过程中会提示你输入一些必要的信息,确保域名正确无误。

    bis-server.conf

    [req]
    distinguished_name = req_distinguished_name
    x509_extensions = v3_req
    prompt = no
    
    [req_distinguished_name]
    C = CH
    ST = SC
    L = CD
    O = Test
    OU = Test1
    CN = Test-PC
    
    [v3_req]
    keyUsage = critical, digitalSignature, keyEncipherment
    extendedKeyUsage = serverAuth, clientAuth
    
  2. 自签名证书

    如果不需要通过权威 CA 签发证书,可以选择自己签发证书。在创建自签名证书时,可以指定要支持的 TLS 版本以及包含的扩展,以确保兼容性和安全性。下面是一个例子,创建一个支持 TLSv1.2 和 TLSv1.3,并包含 ECDHE 加密套件的自签名证书:

    openssl pkcs12 -export -out C:\Users\11617\Desktop\中转\证书\bis-server.pfx -inkey C:\Users\11617\Desktop\中转\证书\bis-server.key -in C:\Users\11617\Desktop\中转\证书\bis-server.crt
    
  3. extensions.conf

    [v3_req]
    basicConstraints = CA:FALSE
    keyUsage = digitalSignature, keyEncipherment
    subjectAltName = @alt_names
    
    [alt_names]
    DNS.1 = your.domain.com
    
    [v3_ext]
    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid,issuer
    extendedKeyUsage = serverAuth,clientAuth
    certificatePolicies = @policy
    
    [policy]
    policyIdentifier = 2.16.840.1.114412.1.1
    CPS.1 = https://your.policy.url/
    
    [crlDistributionPoints]
    URI.0 = http://your.crl.distribution.point/
    
    [authorityInfoAccess]
    OCSP;URI.0 = http://your.ocsp.responder/
    
    [tls_features]
    status_request = DER:30:03:02:01:05
    

使用Net SDK自带的makecert生成证书

  1. 使用makecert工具来生成pvk和cer文件:

    makecert -r -pe -sv C:\Users\11617\Desktop\中转\证书\bis.pvk -n "CN=Test-PC" -b 01/01/2000 -e 01/01/2096 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 C:\Users\11617\Desktop\中转\证书\bis.cer
    
  2. 使用pvk2pfx工具生成pfx文件:

    pvk2pfx.exe路径位于C:\Program Files (x86)\Windows Kits\10\bin\XXXXX\x86下

    pvk2pfx.exe -pvk C:\Users\11617\Desktop\中转\证书\bis.pvk -spc C:\Users\11617\Desktop\中转\证书\bis.cer -pfx C:\Users\11617\Desktop\中转\证书\bis.pfx -po 123456
    

安装证书

  1. 打开MMC管理单元:

    • 按下 Win + R 键打开“运行”对话框。
    • 输入 mmc 并按回车键,打开 Microsoft 管理控制台(Microsoft Management Console, MMC)。
  2. 添加证书管理单元:

    • 在MMC控制台中,点击顶部菜单栏的“文件”,然后选择“添加/删除管理单元”。
    • 在“添加或删除管理单元”窗口中,找到并双击“证书”选项。
    • 在“证书管理单元”的向导中,选择“计算机账户”(如果是给本地计算机安装证书),然后点击“完成”,最后点击“确定”。
  3. 导航至证书存储位置:

    • 在左侧窗格中展开“证书(本地计算机)” -> “受信任的根证书颁发机构”。
    • 右击“受信任的根证书颁发机构”,然后选择“所有任务” -> “导入”。
  4. 导入证书:

    • 导入向导会引导你完成以下步骤:
    • 点击“下一步”浏览要导入的证书文件(通常为 .cer 或 .p7b 格式)。
    • 选择证书存储位置为“受信任的根证书颁发机构”。
    • 如果证书需要密码,则输入相应密码。
    • 完成向导中的剩余步骤,直至证书成功导入。
  5. 添加证书权限:

    • windows状态栏右键打开任务管理器
    • 选择服务,在服务中找到对应的sql实例对应的服务,我这里是"“SQL Server(SQLEXPRESS)”
    • 双击服务,选择标签,复制“此账号”旁边的账号
    • 回到Microsoft 管理控制台(MMC)
    • 找到刚导入的证书,右键证书选择“所有任务”-》“管理私钥”
    • 点击添加按钮打开,将刚刚复制的账号输入到“输入对象名称来选择框中”,点击确定添加
    • 这一步非常总要,只有添加了用户,sqlserver服务重启才能启动起来

sqlserver使用证书

  1. 打开SQL Server配置管理器:

    • 按下 Win + R 键打开“运行”对话框。
    • 输入 SQLServerManager15.msc 并按回车键,打开SQL Server配置管理器。
    • 各个sqlserver版本在对话框中输入对应的命令如下:
    SQLServerManager15.msc(对于 SQL Server 2019 )
    SQLServerManager14.msc(对于 SQL Server 2017 )
    SQLServerManager13.msc(对于 SQL Server 2016 )
    SQLServerManager12.msc(对于 SQL Server 2014)
    SQLServerManager11.msc(对于 SQL Server 2012 )
    SQLServerManager10.msc(对于 SQL Server 2008
  2. SQL Server配置管理器配置:

    • 导航到“SQL Server 网络配置”下的对应实例,例如:“MSSQLSERVER 的协议”
    • 右键点击属性,选择“标志”。
    • 将“常规”下的强行加密选项改为“是”。
    • 旁边应该有个证书配置选项,可以直接下拉选择已安装的证书。
    • 也可以通过修改注册文件来设置证书。
    • 通过路径 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib\Certificate,找到Certificate,双击设置Certificate的值为证书的指纹(Thumbprint )的值;
    • 证书指纹可通过在Microsoft 管理控制台(MMC)中双击证书,在详细信息标签页中进行查看
  3. 服务重启:

    • 在完成上述配置后,需要重新启动 SQL Server 服务以及 SQL Server Browser 服务以便更改生效。
  4. 验证配置:

    • 使用 SQL Server Management Studio (SSMS) 进行连接测试,在连接属性中勾选“加密连接”选项,并尝试连接。如果配置正确,应该会使用 SSL 加密进行连接。

数据库链接配置以及测试效果

在这里插入图片描述

其他

在配置过程中有可能会出现sqlserver服务重启不起来的问题,一般是配置的证书不符合sqlserver要求的原因,当然也可以查看sqlserver的错误日志来确定问题原因,sqlserver错误日志存放位置:

C:\Program Files\Microsoft SQL Server***\MSSQL\Log

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值