网上找了很多文章,讲解的都不全。
最近研究 SQL Server 的 tds 解密,需要搭建测试环境,配置 数据库的 证书。
自己总结记录下
openssl 命令制作证书:
a) 生成私钥
openssl genrsa -des3 -out server_pri.pem 1024
*注:openssl rsa -in server_pri.pem -out pri.pem 可以去掉密码
b) 生成Certificate Signing Request(CSR)
openssl req -new -key server_pri.pem -out server.csr
c) pem转换为der格式
openssl x509 -in server.cer -outform DER -out server_der.cer
d) 给 .cst 格式的证书颁发签名
openssl x509 -req -in server.csr -signkey server-pri.pem -out server.cer
e) 生成 .pfx 证书
openssl pkcs12 -export -inkey server_pri.pem -in server.cer -out server.pfx
f) 生成 .spc 格式,微软公钥
openssl crl2pkcs7 -certfile server.cer -nocrl -outform DER -out server.spc
g) 微软使用的证书是 .spc .pvk ,需要使用makercert.exe 工具把 .pfx 转化成它
最后生成文件:
[root@db]# ls -l
4
-rw-r--r-- 1 root root 830 109 11:52 server.cer
-rw-r--r-- 1 root root 700 109 11:48 server.csr
-rw-r--r-- 1 root root 573 109 12:03 server_der.cer
-rw-r--r-- 1 root root 1589 109 11:57 server.pfx
-rw-r--r-- 1 root root 963 109 11:46 server_pri.pem
-rw-r--r-- 1 root root 622 109 12:12 server.spc