当前位置: > CentOS > CentOS服务器 >

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

时间:2014-05-20 11:22来源:linux.it.net.cn 作者:IT网

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
#把host.csr发送到CA主机,直接拷贝过去也可以
scp host.csr ip:/tmp
#在CA主机上签署证书
#由于传送到了/tmp目录,所以先转到/tmp
cd /tmp
openssl ca -in host.csr -out /etc/pki/CA/newcerts/host.crt
#一路Yes即可
#客户端获取颁发的证书或直接拷贝过去
scp ip:/etc/pki/CA/newcerts/host.crt

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

3、吊销证书

#吊销证书命令
openssl ca -revoke xxx.pem
#生成吊销证书列表
openssl ca -gencrl -out  xxx.crl
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容