天天看点

搭建CA,二级CA,和签发证书

1 搭建CA

1.1 环境的搭建

首先创建CA目录,所有与CA相关的内容都包含在这个文件夹中。然后在这个目录下再建立2个文件夹newcerts和private,分别用于存放CA发布的证书和CA的私钥。另外还需要创建3个文件,第一个文件用来追踪已经发布的证书的序列号,因为每个证书的序列号都必须唯一。这个文件叫做serial,它的初始值为1. 这个数值是16进制,并且最少为2位。第二个文件的初始值为空,名字为index.txt。它是个数据库,保存CA发布的证书的信息,每一行对应一个证书。

mdkir ~/democa

cd ~/democa

mkdir newcerts private

echo '01' > serial

touch index.txt

1.2 OpenSSL配置文件

使用命令openssl ca可以查看默认配置文件的位置,把它拷贝到demoCA目录。然后对它进行修改

(1)dir=. #把工作目录指向当前目录

1.3 创建CA根证书

通常需要3步来建立一个CA证书:CA私钥;CA证书签名请求(CSR);CA证书

1.3.1 CA私钥

openssl genrsa -out cakey.pem 2048

生成一个RSA秘钥,长度为2048位。

1.3.2 CSR

openssl req -new -key cakey.pem -out cacsr.pem

你会被要求输入很多参数,这些参数就是申请者的身份信息,你可以全部按空格(使用默认值),但是必须输入Common Name。同时CSR需要包含申请者的公钥,所以-key指定公钥文件。

此命令用来查看刚刚生成的CSR

openssl req -text -in cacsr.pem 

1.3.3 CA证书

openssl ca -config ./openssl.cnf -keyfile cakey.pem -in cacsr.pem -selfsign -out cacert.pem

2 用CA签发证书

2.1 制作client私钥

openssl genrsa -out clientkey.pem 2048

2,2 CSR

openssl req -new -key clientkey.pem -out clientcsr.pem

2.3 用CA签发client证书

openssl ca -config ./openssl.cnf -keyfile cakey.pem -cert cacert.pem -in clientcsr.pem -out clientcrt.pem

3 二级CA证书

3.1 二级CA私钥和CSR

openssl req -newkey rsa:2048 -keyout secondkey.pem -out secondcsr.pem

3.2 用根CA签发二级CA证书

openssl ca -config ./openssl.cnf -keyfile cakey.pem -cert cacert.pem -in secondcsr.pem -out secondcert.pem

4 用二级CA签发server证书

4.1 server私钥和CSR

openssl req -newkey rsa:2048 -keyout serverkey.pem -out servercsr.pem

4.2 用二级CA签发server证书

openssl ca -config ./openssl.cnf -keyfile secondkey.pem -cert secondcert.pem -in servercsr.pem -out servercert.pem