1、創(chuàng)建 CA 私鑰和 CA 證書
(1)下載并安裝openssl,將bin目錄配置到環(huán)境變量;
(2)設(shè)置openssl.cfg路徑(若不設(shè)置會(huì)報(bào)錯(cuò),找不到openssl配置文件)
set?OPENSSL_CONF=G:Program?Filesopensslopenssl-1.0.2d-fips-2.0.10binopenssl.cnf
?(3)生成一個(gè) CA 私鑰(多出來的文件:ca-key.pem)
openssl?genrsa?2048?>?ca-key.pem
?
(4)通過 CA 私鑰生成數(shù)字證書(執(zhí)行這個(gè)命令時(shí), 會(huì)需要填寫一些問題, 隨便填寫就可以,如:CN、KunMing、KunMing、KunMing、kmddkj、kmddkj、kmddkj、786479786@qq.com;多出來的兩個(gè)文件:ca-cert.pem)
openssl?req?-sha1?-new?-x509?-nodes?-days?3650?-key?ca-key.pem?>?ca-cert.pem
??
2、創(chuàng)建服務(wù)器端的 RSA 私鑰和數(shù)字證書
(1)創(chuàng)建服務(wù)器端的私鑰和一個(gè)證書請(qǐng)求文件(需要回答幾個(gè)問題, 隨便填寫即可. 不過需要注意的是, A challenge password 、An optional company name這兩項(xiàng)需要為空;多出來文件:server-key.pem?? server-req.pem)
openssl?req?-sha1?-newkey?rsa:2048?-days?3650?-nodes?-keyout?server-key.pem?>?server-req.pem
?(2)將生成的私鑰轉(zhuǎn)換為 RSA 私鑰文件格式
openssl?rsa?-in?server-key.pem?-out?server-key.pem
?(3)使用原先生成的 CA 證書來生成一個(gè)服務(wù)器端的數(shù)字證書(多出來文件: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
??
3、創(chuàng)建客戶端的 RSA 私鑰和數(shù)字證書
(1)為客戶端生成一個(gè)私鑰和證書請(qǐng)求文件(多出來文件:client-key.pem?? client-req.pem )
openssl?req?-sha1?-newkey?rsa:2048?-days?3650?-nodes?-keyout?client-key.pem?>?client-req.pem
?(2)將生成的私鑰轉(zhuǎn)換為 RSA 私鑰文件格式
openssl?rsa?-in?client-key.pem?-out?client-key.pem
?(3)為客戶端創(chuàng)建一個(gè)數(shù)字證書(多出來文件: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
??
SSL 配置及生成文件說明:在前面的步驟中, 我們已經(jīng)生成了8個(gè)文件, 分別是:
ca-cert.pem: CA 證書, 用于生成服務(wù)器端/客戶端的數(shù)字證書.
ca-key.pem: CA 私鑰, 用于生成服務(wù)器端/客戶端的數(shù)字證書.
server-key.pem: 服務(wù)器端的 RSA 私鑰
server-req.pem: 服務(wù)器端的證書請(qǐng)求文件, 用于生成服務(wù)器端的數(shù)字證書.
server-cert.pem: 服務(wù)器端的數(shù)字證書.
client-key.pem: 客戶端的 RSA 私鑰
client-req.pem: 客戶端的證書請(qǐng)求文件, 用于生成客戶端的數(shù)字證書.
client-cert.pem: 客戶端的數(shù)字證書.
??
4、服務(wù)器端配置
服務(wù)器端需要用到三個(gè)文件, 分別是: CA 證書, 服務(wù)器端的 RSA 私鑰, 服務(wù)器端的數(shù)字證書, 我們需要在 [mysqld] 配置域下添加如下內(nèi)容:
??#[mysqld]下加入如下代碼: ??ssl-ca=G:/ProgramData/MySQL/MySQL?Server?5.6/mykey/ca-cert.pem ??ssl-cert=G:/ProgramData/MySQL/MySQL?Server?5.6/mykey/server-cert.pem ??ssl-key=G:/ProgramData/MySQL/MySQL?Server?5.6/mykey/server-key.pem
??
5、當(dāng)配置好后, 我們需要重啟 MySQL 服務(wù), 使配置生效.
6、當(dāng)配置好后, 使用 root 登錄 MySQL, 執(zhí)行 show variables like ‘%ssl%’;測試成功。
show?variables?like?'%ssl%';