数字证书授权中心:CA →Certificate Authority
- 被通信双方信任的、独立的第三方机构
- 负责证书颁发、验证、撤销等管理
国内常见的CA机构
- 中国金融认证中心(CFCA)
- 中国电信安全认证中心(CTCA)
- 北京数字证书中心(BJCA)
PKI公钥基础设施
- PKI是一套标准的密钥管理平台;
- 通过公钥加密、数字证书技术确保信息安全;
PKI体系基本组成
- 权威认证机构(CA)
- 数字证书库、密钥备份及恢复系统
- 证书作废系统、应用接口
web网站把公钥发给CA认证服务器,CA用私钥给web公钥签名。
然后把签名完的公钥再发给 web服务器(证书只有公钥)
CA服务器IP: 192.168.1.20
一、openssl对称加解密
基本操作格式:
加密:openssl enc 算法 -e -in 输入文件 -out 输出文件
解密:openssl enc 算法 -d -in 输入文件 -out 输出文件
1、加密
# openssl enc -e -des3 -in filea -out filea.enc
//要加密的文件名filea,加密成功后给新文件起名字filea.enc,也支持指定路径
2、解密
# openssl enc -d -des3 -in filea.enc -out new //解密成功后给生成新文件起名new
二、CA服务的建立
过程:
1、配置CA签署环境
2、为CA服务器生成私钥
3、为CA服务器创建根证书
4、发布根证书文件
1、配置CA签署环境
配置文件:/etc/pki/tls/openssl.cnf
默认环境:[CA_default]
证书识别:[req_distinguished_name ]
# vim /etc/pki/tls/openssl.cnf
[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 arekept
database = $dir/index.txt # database index file.
# unique_subject = no
# Set to ‘no‘ to allow creation of
# several ctificates with same subject.
new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/my-ca.crt (公钥证书) # The CAcertificate CA根证书文件
serial = $dir/serial # The current serial number
crlnumber = $dir/crlnumber # the current crl number
# must be commented out to leave a V1 CRL
crl = $dir/crl.pem # The current CRL
private_key = $dir/private/my-ca.key(私钥) # The private key CA私钥文件
RANDFILE = $dir/private/.rand # private random number file
签名的公钥即根证书
[req_distinguished_name ] 证书识别
countryName = Country Name (2 lettercode)
countryName_default = CN (国家)
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (fullname)
stateOrProvinceName_default = Beijing (指定所在省/市)
#stateOrProvinceName_default = Default Province
localityName = Locality Name (eg, city)
localityName_default = Beijing (指定市)
0.organizationName = Organization Name (eg, company)
0.organizationName_default = Dave Company Ltd (公司名)
2、创建相应的文件和目录
[root@localhost tls]# cd /etc/pki/CA
[root@localhost CA]# touch index.txt
[root@localhost CA]# echo 01 > serial
3、生成CA的私钥文件
[root@localhost CA]# openssl genrsa -des3 2048 > private/my-ca.key
//为私钥设置口令(123456)
[root@localhost CA]# chmod 600 private/my-ca.key
4、根据私钥生成公钥
[root@localhost CA]# openssl req-new -x509 -key private/my-ca.key \
-days 365 > my-ca.crt
需要输入保护私钥的密码。提示的问题,国家、城市、省份、公司名这四项必须和openssl.cnf中设置的完全一致,否则会失败。直接回车
5、发布根证书(公钥),供用户下载以信任该证书颁发机构
可通过web、FTP等方式进行发布
# cp /etc/pki/CA/my-ca.crt /var/www/html/ //将公钥拷到网站根目录下
开启httpd服务:以便客户端下载
#service httpd start
客户端可以通过:http://192.168.1.20/my-ca.crt 下载
到此,CA服务器部署完成了!
本文出自 “Dave-技术博客” 博客,请务必保留此出处http://davewang.blog.51cto.com/6974997/1859210
原文地址:http://davewang.blog.51cto.com/6974997/1859210