使用openssl工具创建CA证书和申请证书时,需要先查看配置文件,因为配置文件中对证书的名称和存放位置等相关信息都做了定义,具体可参考/usr/lib/ssl/openssl.cnf 文件。
修改文件内容
/etc/pki/CA中创建下面文件
第一步:创建为 CA 提供所需的目录及文件
sudo mkdir -pv /etc/pki/CA/{certs,crl,newcerts,private}
需要在文件serial中输入01。
echo 01 >> serial
CA创建的公钥私钥必须放在指定路径下的文件中;
私钥:/etc/pki/private/cakey.pem
umask 077; openssl genrsa -out ./private/cakey.pem
生成自签证书,生成证书时需要填写相应的信息;
公钥:/etc/pki/CA/cacert.pem
openssl req -new -x509 -key filename -out filename
-new:生成一个新的证书;
-x509:当是CA生成这个自签证书时使用x509;
-key:CA的私钥;
-out filename:输出的公钥文件即自签证书;
-days:自签证书的有效期限,以天为单位;
实例:
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem
颁发证书
在需要使用证书的主机上生成证书请求,以 httpd 服务为例,步骤如下:
第一步:在需要使用证书的主机上生成私钥,这个私钥文件的位置可以随意定。我是在另一个文件夹里面生成的私钥,步骤和CA生成私钥一样。
umask 077; openssl genrsa -out httpd.key
第二步:生成证书签署请求
openssl req -new -key httpd.key -out httpd.csr -days 3560
第三步:将请求通过可靠方式发送给 CA 主机,直接复制到/etc/pki/CA目录下
openssl ca -in httpd.csr -out httpd.crt -days 3650