系统中搭建CA
CA的配置文件
vim /etc/pki/tls/openssl.cnf
默认 CA_default (可建多个)
[ CA_default ]
dir = /etc/pki/CA # Where everything is kept CA的工作目录
certs = $dir/certs # Where the issued certs are kept 存放证书的地方
crl_dir = $dir/crl # Where the issued crl are kept 证书吊销列表
database = $dir/index.txt # database index file. 存放证书信息的数据库,需要手工创建
new_certs_dir = $dir/newcerts # default place for new certs. 新证书默认放此文件夹
certificate = $dir/cacert.pem # The CA certificate CA的证书文件
serial = $dir/serial # The current serial number 下一个要颁发的证书序列号(16进制数)
crlnumber = $dir/crlnumber # the current crl number下一个要吊销证书的序列号
crl = $dir/crl.pem # The current CRL 证书吊销列表
private_key = $dir/private/cakey.pem # The private key 存放私钥
RANDFILE = $dir/private/.rand # private random number file 生成随机数
x509_extensions = usr_cert # The extentions to add to the cert 不关键
policy = policy_match 策略匹配
[ policy_match ]
countryName = match 国家必须匹配
stateOrProvinceName = match 省
organizationName = match 公司名
organizationalUnitName = optional (可选的)
commonName = supplied 必须提供不能空 一般为网站名域名
emailAddress = optional 邮箱可写可不写
实验:向CA申请证书
进入到CA文件夹
1.建立RootCA
(umask 077; openssl genrsa –out private/cakey.pem 4096)
2)自签名证书
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -deys 3650
-new 建一个新申请
-x509 表示自签名 不加表示是普通证书
-key: 生成请求时用到的私钥文件
-days n:证书的有效期限
-out / PATH/TO/SOMECERTFILE : 证书的保存路径
CN 表示中国
beijing 省,市
查看证书里的内容 openssl x509 -in cacert.pem -noout -text
也可以传到windows里看,改成cer或crt后缀
2.用户或服务器
1)生成私钥
(umask 077; openssl genrsa –out test.key –des 2048)
2)生成证书申请文件
openssl req -new -key text.pem -out text.csr
.csr 申请证书文件后缀
部门可不一致前面要一致
3)将申请文件发给CA
scp app.csr 192.168.30.111:/etc/pki/CA
注意:默认国家,省,公司名称三项必须和CA一致
3 .CA颁发证书
touch /index.txt (不创建会提示错误)
echo 0F(可自己指定) >serial
openssl ca -in app.csr -out certs/app.crt -days 100
4.证书发送客户端
scp certs/app.crt 192.168.30.6:/date (传回给申请者)
5.应用软件使证书
一个证书申请,可以申请几个证书
默认不允许
需要改这个文件 vim index.txt.attr
证书管理
查看证书中的信息:
openssl x509 -in /PATH/FROM/CERT_FILE -noout -text|issuer|subject|serial|dates
openssl ca -status 证书编号 查看指定编号的证书状态
吊销证书
在客户端获取要吊销的证书的serial
openssl x509 -in / PATH/FROM/CERT_FILE -noout -serial -subject
在CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致,
吊销证书:openssl ca -revoke /etc/pki/CA/newcerts/编号 .pem、
R表示已吊销
V 表示在使用
指定第一个吊销证书的编号 ,
注意:第一次更新证书吊销列表前,才需要执行
echo 01 > /etc/pki/CA/crlnumber
更新证书吊销列表
openssl ca -gencrl -out /etc/pki/CA/crl.pem
查看crl文件:
openssl crl -in /etc/pki/CA/crl.pem -noout -text
其实有脚本可以做这个事
rpm -qp –s cripts /misc/cd/Packages/mod_ssl-2.4.6-67.el7.centos.x86_64.rpm