一、简介
OpenSSL是一款开源的加密工具,在Linux环境下,我们能够利用它来搭建一个CA来实现证书的发放,可以用于企业内部使用的加密工具,下面是用OpenSSL这个强大的工具,在Linux下构建一个CA,来实现证书管理。
二、搭建
1、我们首先看一下CA的目录结构
[[email protected] ~]# tree /etc/pki/CA
/etc/pki/CA
├── certs
├── crl
├── newcerts
└── private
2、切换到/etc/pki/CA/目录,使用openssl命令给自己生成一个私钥
[[email protected] ~]# cd /etc/pki/CA/
[[email protected] CA]# (umask 077; openssl genrsa -out private/cakey.pem 2048)
Generating RSA private key, 2048 bit long modulus
.......................+++
.........................................................+++
e is 65537 (0x10001)
如果想查看私钥对应的公钥,可以使用如下命令
# openssl rsa -in private/cakey.pem -pubout -text -noout
3、CA需要一个自签证书,所以我们给它使用openssl命令生成一个自签证书
[[email protected] CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3655
以上信息请根据自己的实际情况进行填写
4、创建CA的相关目录和文件,指定序列号起始数字,它们在CA所在目录创建
# touch index.txt serial crlnumber
# echo 01 > serial
到目前我们自建的CA颁发机构就已经搭建完成了,下一步我们为其他申请进行证书签发操作
三、证书的申请签署
1、我们以客户端身份进行证书申请,首先我们应该先建立自己的私钥
# (umask 077; openssl genrsa -out client.key 1024)
2、客户端如果想申请获得证书的话,需要创建一个申请证书,传递给CA
# openssl req -new -key client.key -out client.csr
csr: Certificate Signing Request(证书签发申请)
最后可以输入密码来进行证书申请的加密,我这里不进行加密了
3、在CA端给客户端颁发证书,使用openssl命令
# openssl ca -in client.csr -out client.crt -days 365
证书签发成功,以上就是签发的信息