博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql中配置ssl_key、ssl-cert、ssl-ca的路径及建立ssl连接(适用于5.7以下版本,5.7及以上请看本文末尾的备注)...
阅读量:5090 次
发布时间:2019-06-13

本文共 2330 字,大约阅读时间需要 7 分钟。

1、创建 CA 私钥和 CA 证书

(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、786479786@qq.com;多出来的两个文件:ca-cert.pem)

openssl req -sha1 -new -x509 -nodes -days 3650 -key ca-key.pem > ca-cert.pem

  

2、创建服务器端的 RSA 私钥和数字证书

(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

  

3、创建客户端的 RSA 私钥和数字证书

(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

  

SSL 配置及生成文件说明:在前面的步骤中, 我们已经生成了8个文件, 分别是:

ca-cert.pem: CA 证书, 用于生成服务器端/客户端的数字证书.

ca-key.pem: CA 私钥, 用于生成服务器端/客户端的数字证书.

server-key.pem: 服务器端的 RSA 私钥

server-req.pem: 服务器端的证书请求文件, 用于生成服务器端的数字证书.

server-cert.pem: 服务器端的数字证书.

client-key.pem: 客户端的 RSA 私钥

client-req.pem: 客户端的证书请求文件, 用于生成客户端的数字证书.

client-cert.pem: 客户端的数字证书.

  

4、服务器端配置

服务器端需要用到三个文件, 分别是: CA 证书, 服务器端的 RSA 私钥, 服务器端的数字证书, 我们需要在 [mysqld] 配置域下添加如下内容:

#[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、当配置好后, 我们需要重启 MySQL 服务, 使配置生效.

 

6、当配置好后, 使用 root 登录 MySQL, 执行 show variables like '%ssl%';测试成功。

show variables like '%ssl%';

 

备注:5.7及以上版本开启ssl说明:

① 安装mysql5.7及以上版本时,需安装除.FrameWork插件外,还需安装microsoft Visal c++ 2013 Redistributable

② 将安装目录的bin目录配置到环境变量中
③ 使用mysql5.7版本自带开启ssl的命令开启即可

 

 

转载于:https://www.cnblogs.com/wanderwei/p/7493175.html

你可能感兴趣的文章
匹夫细说C#:不是“栈类型”的值类型,从生命周期聊存储位置
查看>>
超时时间已到。在操作完成之前超时时间已过或服务器未响应。 (.Net SqlClient Data Provider)...
查看>>
练习2-11 计算分段函数[2] (10 分)
查看>>
从零开始系列之vue全家桶(1)安装前期准备nodejs+cnpm+webpack+vue-cli+vue-router
查看>>
ASP.NET缓存 Cache之数据缓存
查看>>
bzoj3529: [Sdoi2014]数表
查看>>
SSH三大框架 整合必备jar包
查看>>
什么是电子商务?电子商务面临的几个关键问题及解决办法?电子商务的核心是什么?B2C电子商务运营的核心是什么 ?...
查看>>
Jsp抓取页面内容
查看>>
AJAX与servlet的组合,最原始的
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
DP 简单题 之 poj 1163
查看>>
P1136 迎接仪式
查看>>
CharacterEncodingFilter-Spring字符编码过滤器
查看>>
starling教程-事件模型(Event model )
查看>>
第二章 Js函数
查看>>
蓝桥杯 ALGO-2:最大最小公倍数
查看>>
51Nod:1086背包问题 V2
查看>>
NYOJ 6:喷水装置(一)(贪心)
查看>>
一些股票的基本概念
查看>>