CentOS中使用Openssl自建CA认证与颁发证书

1、建立CA认证

#修改openssl.cnf文件

vi /etc/pki/tls/openssl.cnf

#修改[ CA_default ]下的dir = 设置为

dir = /etc/pki/CA

#转到CA目录

cd /etc/pki/CA

#生成私钥文件

mkdir private
openssl genrsa -out private/cakey.pem 1024

#设置400权限

chmod 400 private/cakey.pem

#基于这个私钥自行签署证书

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3655

注意:证书只有放在/etc/pki/CA下才可以用

#创建需要使用的目录和文件

mkdir certs newcerts crl
touch index.txt serial
echo 01 > serial

#这些目录与文件的作用

certs 存放证书的位置
crl 存放证书调销列表
index.txt 存放都发给谁证书了,发了第几个了
newcerts 存放生成的新证书
serial 内部管理序列号,默认从00或01开始
这些文件的名字任意,但要与/etc/pki/tls/openssl.cnf中的配置保持一致

#将根证书转换成浏览器支持的.p12(PKCS12)格式

openssl pkcs12 -export -clcerts -in cacert.pem -inkey private/cakey.pem -out private/ca.p12
#生成后导入浏览器中受信任的证书颁发机构后重启浏览器,否则颁发的证书会提示证书不受信任。

完成以上设置后,现在就可以颁发证书了。

2、客户端申请证书

#建立存放私钥的目录

mkdir /etc/ssl
cd /etc/ssl

#生成私钥

openssl genrsa -out host.key 1024
chmod 600 host.key

#生成申请

openssl req -new -key host.key -out host.csr

#在CA主机上签署证书

openssl ca -in host.csr -out host.crt
#一路Yes即可

至此设置全部完成,如果使用Nginx或lnmp/lnmpa一键包,可以参照CentOS Lnmp/Lnmpa 使用SSL安全协议第3部分进行配置。

3、吊销证书

#吊销证书命令

openssl ca -revoke xxx.pem

#生成吊销证书列表

openssl ca -gencrl -out  xxx.crl

标签: CentOS, Openssl, ssl, https, CA

评论已关闭