利用openssl实现私有CA以及mysql服务器的ssl连接的配置

一、CA简介

    CA 也拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。

如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。

    如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。

证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循X.509 国际标准。

二、利用openssl实现私有CA

实验环境:

    系统--rhel5.8

    软件--openssl


具体步骤:

1.前期准备(以下所有操作都在/etc/pki/CA/目录下进行)

[root@node2 ~]# cd /etc/pki/CA/

2.修改配置文件

[root@node2 CA]# vim ../tls/openssl.cnf

3.找到相应参数进行修改

ssl 连接mysql mysql使用ssl连接_数据库

4.在CA目录下创建相应目录和文件

ssl 连接mysql mysql使用ssl连接_数据库_02

5.创建私钥

ssl 连接mysql mysql使用ssl连接_开发工具_03

6.生成自签证书

ssl 连接mysql mysql使用ssl连接_ssl 连接mysql_04

注意:进行相应填写时,从国家到组织应该需要签署的子证书一致。

三、配置mysql

1.配置实现mysql使用ssl连接

ssl 连接mysql mysql使用ssl连接_开发工具_05

如果mysql使用show variables like '%ssl%';后显示如上结果,则证明支持ssl连接。

2.建立mysql的私钥以及对应的证书

ssl 连接mysql mysql使用ssl连接_开发工具_06

ssl 连接mysql mysql使用ssl连接_开发工具_07

ssl 连接mysql mysql使用ssl连接_ssl 连接mysql_08

3.复制cacert.pem,并修改相应权限

ssl 连接mysql mysql使用ssl连接_数据库_09

4.修改mysql的配置文件,在mysqld段添加图示内容

ssl 连接mysql mysql使用ssl连接_开发工具_10

5.重启mysql服务器,如图所示即配置成功

ssl 连接mysql mysql使用ssl连接_开发工具_11

6.登陆时需建立对应mysql用户

ssl 连接mysql mysql使用ssl连接_mysql_12

7.登陆时必须是在另一台linux主机,配置相应的客户端私钥和证书并使用如下选项

ssl 连接mysql mysql使用ssl连接_数据库_13

教程到此结束。


转载于:https://blog.51cto.com/7706173/1720545