Sqlserver安全篇之_手工创建TLS用到的pfx证书文件

Sqlserver官方提供的Windows Powershell脚本

https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/configure-sql-server-encryption?view=sql-server-ver16

bash 复制代码
# Define parameters
$certificateParams = @{
    Type = "SSLServerAuthentication"
    Subject = "CN=$env:COMPUTERNAME"
    DnsName = @("$($env:COMPUTERNAME)", $([System.Net.Dns]::GetHostEntry('').HostName), 'localhost')
    KeyAlgorithm = "RSA"
    KeyLength = 2048
    HashAlgorithm = "SHA256"
    TextExtension = "2.5.29.37={text}1.3.6.1.5.5.7.3.1"
    NotAfter = (Get-Date).AddMonths(36)
    KeySpec = "KeyExchange"
    Provider = "Microsoft RSA SChannel Cryptographic Provider"
    CertStoreLocation = "cert:\LocalMachine\My"
}

# Call the cmdlet
New-SelfSignedCertificate @certificateParams

自己测试实验

在woncntestdb3数据库服务器上创建一个自签名的证书,再把这个自签名证书导出到C:\Certs\dainetdaicom.pfx,这个自签名证书的subject必须是woncntestdb3.dai.netdai.com,就算是*.dai.netdai.com或dai.netdai.com都无法把它从C:\Certs\dainetdaicom.pfx导入到woncntestdb3的sqlserver中

bash 复制代码
$certParams = @{
    Type = "SSLServerAuthentication"
    Subject = "CN=$env:COMPUTERNAME.dai.netdai.com"
    DnsName = @("$($env:COMPUTERNAME)", $([System.Net.Dns]::GetHostEntry('').HostName), 'localhost')
    KeyAlgorithm = "RSA"
    KeyLength = 2048
    HashAlgorithm = "SHA256"
    TextExtension = "2.5.29.37={text}1.3.6.1.5.5.7.3.1"
    NotAfter = (Get-Date).AddMonths(36) # 有效期3年
    KeySpec = "KeyExchange"
    Provider = "Microsoft RSA SChannel Cryptographic Provider"
    FriendlyName     = "Certificate test for woncntestdb3.dai.netdai.com"
    CertStoreLocation = "cert:\LocalMachine\My"
}
$cert = New-SelfSignedCertificate @certParams
$password = ConvertTo-SecureString -String "123456" -Force -AsPlainText # 导入到sqlserver中提示输入密码的时候,就填这个密码
$exportPath = "C:\Certs\dainetdaicom.pfx"
Export-PfxCertificate -Cert $cert -FilePath $exportPath -Password $password

--把上面生成的C:\Certs\dainetdaicom.pfx拷贝到Linux路径/root/123/dainetdaicom.pfx,执行如下语句可以看到证书的有效期

bash 复制代码
openssl x509 -in /root/123/dainetdaicom.pfx -noout -dates

证书可以在linux和windows下互用,目前已经成功验证windows下生成的pfx证书可以在linux中使用,但是还没有成功实验linux生成的证书可以在windows下使用

相关推荐
IT猿手6 分钟前
2025最新群智能优化算法:云漂移优化(Cloud Drift Optimization,CDO)算法求解23个经典函数测试集,MATLAB
开发语言·数据库·算法·数学建模·matlab·机器人
雷渊11 分钟前
深入分析理解mysql的MVCC
java·数据库·面试
Paparazi灬14 分钟前
RocksDB写流程各种场景下的处理逻辑和线程交互时序
数据库
anguruanjian19 分钟前
安固软件指南:确保外发文件安全的全面策略
服务器·网络·安全·企业微信·安固软件
技术爬爬虾1 小时前
两种免费防御DDoS攻击的实战攻略,详细教程演示
前端·安全
神经星星1 小时前
【vLLM 教程】使用 TPU 安装
数据库·人工智能·机器学习
小园子的小菜1 小时前
探秘 Netty 通信中的 SslHandler 类:保障网络通信安全的基石
java·安全·web安全·netty
hjehheje1 小时前
clickhouse查询效率低
数据库·人工智能
七七powerful2 小时前
ClickHouse 中出现 DB::Exception: Too many parts 错误
java·前端·数据库
PawSQL2 小时前
PawSQL for MSSQL:PawSQL 支持 SQL Server 的SQL优化、SQL审核、性能巡检
sql·sqlserver·sql优化·mssql·pawsql