CA服务端
-
安装CA认证软件包中心(linux默认安装了):
rpm -qf `which openssl `
yum -y install openssl-1.0.2k-8.el7.x86_64
-
修改配置文件
vim /etc/pki/tls/openssl.cnf #家目录 dir = /etc/pki/CA #认证证书目录 certs = $dir/certs #注销证书目录 crl_dir = $dir/crl #数据库索引文件 database = $dir/index.txt #新证书的默认位置 new_certs_dir = $dir/newcerts #CA机构证书 certificate = $dir/cacert.pem #当前序号,默认为空,可以指定从01开始 serial = $dir/serial #下一个吊销证书序号 crlnumber = $dir/crlnumber #下一个吊销证书 crl = $dir/crl.pem #CA机构的私钥 private_key = $dir/private/cakey.pem #随机数文件 RANDFILE = $dir/private/.rand #有效期天数 default_days = 365 #让自己成为CA认证中心 basicConstraints=CA:TRUE
-
生成CA的公钥证书和私钥
/etc/pki/tls/misc/CA
-newcert 新证书
-newreq 新请求
-newreq-nodes 新请求节点
-newca 新的CA证书
-sign 签证
-verify 验证/etc/pki/tls/misc/CA -newca #ca密码 Enter PEM pass phrase:123456 #ca密码,再次输入确认 Verifying - Enter PEM pass phrase:123456 #上面是CA认证中心信息 #国家 Country Name (2 letter code) [XX]:CN #省份 State or Province Name (full name) []:guangdong #城市 Locality Name (eg, city) [Default City]:guangzhou #组织 Organization Name (eg, company) [Default Company Ltd]:yxhj #组织单位 Organizational Unit Name (eg, section) []:yxhj #通用名(域名) Common Name (eg, your name or your server's hostname) []:damowang.cn #企业邮箱 Email Address []:454263577@qq.com #添加一个额外的属性,让客户发送CA证书时需要输入密码 A challenge password []:回车 An optional company name []:回车 #输入ca密码 Enter pass phrase for /etc/pki/CA/private/./cakey.pem:123456
文件信息
/etc/pki/CA/cacert.pem #CA根证书公钥
/etc/pki/CA/private/cakey.pem #公证书的私钥#吊销的证书存放目录 /etc/pki/CA/crl/
#存放CA签署(颁发)过的数字证书(证书备份目录) /etc/pki/CA/newcerts/
#用于存放CA的私钥 /etc/pki/CA/private/
客户端
-
生成一个私钥密钥(此时还没有生成公钥):
openssl genrsa -des3 -out ./server.key #参数:-des3,加密 一下私钥 #输入私钥密码 Enter pass phrase for ./server.key:qwerty #确认输入私钥密码 Verifying - Enter pass phrase for ./server.key:qwerty
-
使用私钥生成证书请求文件
#注意后期添加的国家,省,组织等信息要和CA保持一致 openssl req -new -x509 -key ./server.key -days 天数 -out /server.csr #输入私钥的密码 Enter pass phrase for /etc/httpd/conf.d/server.key:qwerty #ca中的国家 Country Name (2 letter code) [XX]:CN #ca中的省份 State or Province Name (full name) []:guangdong #ca中的城市 Locality Name (eg, city) [Default City]:guangzhou #ca中的组织 Organization Name (eg, company) [Default Company Ltd]:yxhj #ca中的组织单位 Organizational Unit Name (eg, section) []:yxhj #客户端网站的域名 Common Name (eg, your name or your server's hostname) []:www.cxk.com #企业邮箱 Email Address []:454263577@qq.com A challenge password []:回车 An optional company name []:回车
-
将证书请求文件发给CA服务器
scp ./server.csr 192.168.1.63:/tmp/
-
(ca服务端操作)服务端CA签名:
openssl ca -keyfile /etc/pki/CA/private/cakey.pem -cert /etc/pki/CA/cacert.pem -in ./server.csr -out ./server.crt -days 天数 #CA密码 Enter pass phrase for /etc/pki/CA/private/cakey.pem:123456 #证书有效期是365天。证书进行认证,直到12月21日十四时25分53秒格林尼治标准时间2015年(365天) Certificate is to be certified until Dec 21 14:25:53 2015 GMT (365 days) #注册证书 Sign the certificate? [y/n]:y #确认 1 out of 1 certificate requests certified, commit? [y/n]y
-
(ca服务端操作)CA认证中心进行颁发证书给客户端
scp /server.crt 192.168.1.64:/
吊销证书
-
(客户端操作)根据请求文件获取要吊销的证书的serial
openssl x509 -in ./test.crt -noout -serial -subject
-
(Ca服务端操作)根据客户提交的serial与subject信息,对比检验是否与index.txt 文件中的信息一致,一致吊销证书
openssl ca -revoke /etc/pki/CA/newcerts/01.pem
-
(Ca服务端操作)CA更新证书吊销列表
openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem #查看crl文件 openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text
欢迎朋友们相互交流可以加我vx: CXKLittleBrother
进入运维交流群