一、证书服务
证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构。是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
1、证书配文件存放
#查看openssl配置文件
cat /etc/pki/tls/openssl.cnf
####################################################################
[ ca ]
default_ca = CA_default # 默认的 ca 部分
####################################################################
[ CA_default ]
dir = /etc/pki/CA # 保存所有东西的地方
certs = $dir/certs # 发布的证书存放在哪里
crl_dir = $dir/crl # 发布的 crl 存放在哪里
database = $dir/index.txt # 数据库索引文件
#unique_subject = no # 设置为“no”以允许创建
# 多个具有相同主题的证书。
new_certs_dir = $dir/newcerts # 新证书的默认位置。
certificate = $dir/cacert.pem # CA 证书
serial = $dir/serial # 当前序列号
crlnumber = $dir/crlnumber # 当前的 crl 编号
# 必须被注释掉才能留下 V1 CRL
crl = $dir/crl.pem # 当前的 CRL
private_key = $dir/private/cakey.pem# 私钥
RANDFILE = $dir/private/.rand # 私有随机数文件
x509_extensions = usr_cert # 要添加到证书的扩展
####################################################################
101 #证书信息参数设置
102 [ policy_match ]
103 countryName = match #匹配
104 stateOrProvinceName = match #匹配
105 organizationName = match #匹配
106 organizationalUnitName = optional #可选
107 commonName = supplied #提供
108 emailAddress = optional #可选
2、根证书
#手动创建证书服务相关目录
mkdir -p /etc/pki/CA/{certs,crl,newcerts,private}
#创建生成私钥
cd private/
[root@dns private]# umask 077; openssl genrsa -out cakey.pem 4096
#生成根证书证书
[root@dns CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
#证书信息
---------------------------------------------------------------
Country Name (2 letter code) [XX]:CN #国家代码
State or Province Name (full name) []:HN #所在省份
Locality Name (eg, city) [Default City]:LY #所在城市
Organization Name (eg, company) [Default Company Ltd]:system #组织单位
Organizational Unit Name (eg, section) []:skills #组织单元
Common Name (eg, your name or your servers hostname) []:dns.skills.com #证书通用名
Email Address []#邮箱名称可以忽略
-------------------------------------------------------------------
#查看根书详细内容
[root@dns CA]# openssl x509 -in cacert.pem -noout -text
3、证书申请
#创建证书配置文件夹
[root@idm ~]#mkdir -p /etc/pki/CA/{certs,crl,newcerts,private}
#创建生成私钥
cd private/
[root@idm private]#umask 077; openssl genrsa -out idm.key 1024
#生成ca证书请求文件
#注意,国家,所在省,OU名称 必须跟证书颁发机构一致
[root@idm private]#openssl req -new -key idm.key -out idm.csr
[root@idm private]# ll
total 8
-rw-------. 1 root root 704 Sep 3 19:16 idm.csr
-rw-------. 1 root root 887 Sep 3 19:07 idm.key
#利用scp将cs请求文件发送到证书颁发服务器 server
[root@idm private]#scp idm.csr root@10.10.70.101:/etc/pki/CA
4、证书申请回应
#创建数据库索引文件
[root@dns CA]touch /etc/pki/CA/index.txt
#创建指定证书颁发序列号
[root@dns CA]echo 01 > /etc/pki/CA/serial
#签发证书
#注意按两次"Y"
[root@dns CA]#openssl ca -in idm.csr -out idm.crt -days 1095
#利用scp将颁发的证书文件发送到证书客户端 server
[root@dns CA]#scp idm.crt root@10.10.70.102:/etc/pki/