您的位置:首页 > 运维架构

openssl生成证书

2017-04-17 17:40 204 查看
数字证书:
第三方机构使用一种安全的方式把公钥分发出去
证书格式:x509,pkcs家族
x509格式:
公钥和有效期限:
持有者的个人合法身份信息;(主机名,域名)
证书的使用方式
CA的信息
CA的数字签名

谁给CA发证:自签署证书

用户
1.生成一对密钥
2.把所需信息和公钥按固定格式制作成证书申请(把公钥给CA签署)

CA机构
1.自签证书,生成密钥对
2.签署证书
3.传给用户
4.维护吊销列表(是否过期)
OpenCA(大规模应用)

用openssl实现私有(自建)CA
配置文件/etc/pki/tls/openssl.cnf
命令:
谁给CA发证:自签署证书



CA服务器端:
用openssl实现私有CA:
配置文件:/etc/pki/tls/openssl.cnf

    
     [root@k8s1 CA]#  cd /etc/pki/CA

生成密钥对儿,默认生成公钥和私钥 cakey.pem是私钥:
# (umask 077; openssl genrsa -out private/cakey.pem 2048)

如果想查看公钥,公钥是从私钥中提取出来的,非必要提取公钥:
# openssl rsa -in private/cakey.pem -pubout -text -noout

生成自签证书:
# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3655

countrCountry Name         国家
State or Province Name     州或者省的名字
Locality Name              所在的城市
Organization Name          所在的公司
Organizational Unit Name   所在的部门
Common Name                https访问的地址

    配置文件:/etc/pki/tls/openssl.cnf


自签证书,openssl.conf 配置文件,无法修改Common Name(https://ca.cinyi.com),和email,需要手动修改。


创建需要的文件:
     # cd /etc/pki/CA
# touch index.txt serial crlnumber

给签发的客户端编号
#echo 01 > serial

客户端:

用openssl实现证书申请:

在主机上生成密钥,保存至应用此证书的服务的配置文件目录下, 例如:
# mkdir /etc/httpd/ssl
# cd /etc/httpd/ssl
# (umask 077; openssl genrsa -out httpd.key 1024)

生成证书签署请求(输入的字符country name,State or Province Name, Organization Name 必须和服务CA端相同,否则
     CA签署不通过):
# openssl req -new -key httpd.key -out httpd.csr


将请求文件发往CA;
       # scp httpd.csr CA服务器端:/tmp/

CA服务器端:

CA签署证书:
签署:
# openssl ca -in /tmp/192.168.20.230.csr  -out /tmp/192.168.20.230.crt -days 3650

将证书传回请求者,可以放置到nginx 配置文件下,形成https访问
#  scp /tmp/192.168.20.230.crt 192.168.20.230:/tmp/下,

吊销证书:
# openssl ca -revoke /path/to/somefile.crt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: