OpenSSL官网没有提供windows版本的安装包,可以选择其他开源平台提供的工具。例如 http://slproweb.com/products/Win32OpenSSL.html
以该工具为例,安装步骤和使用方法如下:
选择32位或者64位合适的版本下载,例如Win64OpenSSL_Light-1_0_2h.exe:
设置环境变量,例如工具安装在C:\OpenSSL-Win64,则将C:\OpenSSL-Win64\bin;复制到Path中
(1)下载并安装openssl,将bin目录配置到环境变量;
(2)设置openssl.cfg路径(若不设置会报错,找不到openssl配置文件)
set OPENSSL_CONF=G:\Program
Files\openssl\openssl-1.0.2d-fips-2.0.10\bin\openssl.cnf
(3)生成一个 CA 私钥(多出来的文件:ca-key.pem)
openssl genrsa 2048 > ca-key.pem
(4)通过 CA 私钥生成数字证书(执行这个命令时, 会需要填写一些问题, 随便填写就可以,如:CN、KunMing、KunMing、KunMing、kmddkj、kmddkj、kmddkj、[email protected];多出来的两个文件:ca-cert.pem)
openssl req -sha1 -new -x509 -nodes -days 3650 -key ca-key.pem > ca-cert.pem
(1)创建服务器端的私钥和一个证书请求文件(需要回答几个问题, 随便填写即可. 不过需要注意的是, A challenge password 、An optional company name这两项需要为空;多出来文件:server-key.pem server-req.pem)
openssl req -sha1 -newkey rsa:2048 -days 3650 -nodes -keyout server-key.pem > server-req.pem
(2)将生成的私钥转换为 RSA 私钥文件格式
openssl rsa -in server-key.pem -out server-key.pem
(3)使用原先生成的 CA 证书来生成一个服务器端的数字证书(多出来文件:server-cert.pem)
openssl x509 -sha1 -req -in server-req.pem -days 3650 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
(1)为客户端生成一个私钥和证书请求文件(多出来文件:client-key.pem client-req.pem )
openssl req -sha1 -newkey rsa:2048 -days 3650 -nodes -keyout client-key.pem > client-req.pem
(2)将生成的私钥转换为 RSA 私钥文件格式
openssl rsa -in client-key.pem -out client-key.pem
(3)为客户端创建一个数字证书(多出来文件:client-cert.pem )
openssl x509 -sha1 -req -in client-req.pem -days 3650 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
服务器端需要用到三个文件, 分别是: CA 证书, 服务器端的 RSA 私钥, 服务器端的数字证书, 我们需要在 [mysqld] 配置域下添加如下内容:
#[mysqld]下加入如下代码:
ssl-ca=D:/installationsite/OpenSSL-Win64/bin/test/ca-cert.pem
ssl-cert=D:/installationsite/OpenSSL-Win64/bin/test/server-cert.pem
ssl-key=D:/installationsite/OpenSSL-Win64/bin/test/server-key.pem
当配置好后, 使用 root 登录 MySQL, 执行 show variables like ‘%ssl%’;测试成功。
show variables like ‘%ssl%’;