运行环境:centos7 centos6 Vmware
一、OpenSSL简介
OpenSSL是一个开源项目,其组成主要包括一下三个组件:
openssl 多用途的命令行工具
libcrypto 加密算法库
libssl 加密模块应用库,实现ssl
OpenSSL可以实现:
对称加密
单向加密
生成密码
生成随机数
生成密钥对
创建CA和申请证书
这里主要介绍使用OpenSSL建立CA,完成CA中心布署
二、创建CA和申请证书
使用openssl工具创建CA证书和申请证书时,需要先查看配置文件,因为配置文件中对证书的名称和存放位置等相关信息都做了定义,具体可以参考
1、创建根CA
(1)创建CA所需要的文件
cd /etc/pki/CA touch index.txt echo 00 > serial
(2)生成私钥,私钥的文件名与存放位置都要和配置文件的设置相匹配
(umask 066;openssl genrsa -out private/cakey.pem -des3 2048)
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 7300
如果不相同,则根CA无法完成对其签名,因为在相应的配置文件已经做好了设置,也可以修改配置文件
将policy=policy_match 改为policy=policy_anything,只有这种情况才可以这三项不同
这样一个根CA就建成了!我们可以将生成的证书导出到自己的windows系统,因为windows系统识别不了以.pem结尾的文件,所以我们需要手动修改。
2、颁发证书
(1)在需要使用证书的机器上生成私钥
(umask 066;openssl genrsa -out yellow.key 1024)
(2)通过私钥生成公钥
openssl req -new -key yellowwhat.key -out yellow.csr
这里故意将第二项写错,与根CA不同
(3)将公钥发给根CA,根CA进行签名
scp yellow.csr root@c7:/etc/pki/CA(c7是在/etc/host定义号的域名)
这里提示无法签名,因为第二项不同,所以我们可以去修改配置文件,修改文件之后执行签名之后如下图所示:
(4)将签完名的证书重新发送回去
scp yellow.crt root@c6:/app
将证书到处到windows系统中查看