OpenSSL证书

CA证书
(结构)PKI:
    签证机构:CA
    注册机构:RA
    证书吊销列表:CRL
    证书存取库
(内容) X.509:定义了证书的结构以及认证协议标准
    版本号
    序列号
    签名算法
    颁发者
    有效期
    主体名称
    主体公钥
    CRL分发点
    扩展信息
    发行者签名

获取证书两种方法:
    使用证书授权机构
        生成签名请求(csr)
        将csr发送给CA
        从CA出接收签名
    自签名的证书
        自己签发自己的公钥

HHTPS过程:
1、客户端发送HELLO包给服务器端
2、服务器发送CA证书给客户端
3、客户端生成对称密钥用服务器的公钥加密,发给服务器端
4、服务器用私钥解密后,得到对称密钥
5、服务器和客户端传输数据时用对称密钥加密


OpenSSL
三个组件:
    openssl:多用途的命令行工具,包openssl
    libcrypto:加密算法库,包openssl-libs
    libssl:加密模块应用库,实现了ssl及tls,包nss
openssl命令
    两种运行模式:交互模式和批处理模式
    openssl version:程序版本号
    标准命令、消息摘要命令、加密命令
 标准命令:
    enc、ca、req、...



实现对称加密:
加密:openssl enc -des3 -a -salt -in testfile -out testfile.cipher

解密:openssl enc -d -des3 -a -salt -in testfile.cipher -out testfile



生成私钥:
openssl genrsa -out /PATH/TO/REIVATEKEY.FILE NUM_BITS
例子:(umask 077;openssl genrsa -out test.key 2048)     ###umask设置私钥文件权限,私钥加密可在2048前加“- des”
openssl rsa in test.key -out test2.key 将加密key解密
从私钥中提取公钥:
openssl rsa -in REIVATEKEY.FILE -pubout -out PUBLICKEYFILE
例子:openssl rsa -in test.key -pubout -out test.key.pub



CA配置文件:/etc/pki/tls/openssl.cnf
[ CA_default ]                # 默认CA配置
dir             = /etc/pki/CA           # 默认CA目录
certs           = $dir/certs            # 存放证书
crl_dir         = $dir/crl              # 存放证书吊销列表
database        = $dir/index.txt        # 证书数据库(编号、索引、颁发给谁)
new_certs_dir   = $dir/newcerts         # 存放新证书
certificate     = $dir/cacert.pem       # 根CA证书文件
serial          = $dir/serial           # 下一个证书编号
crlnumber       = $dir/crlnumber        # 下一个吊销证书编号                                      
crl             = $dir/crl.pem          # 证书吊销列表
private_key     = $dir/private/cakey.pem# 私钥文件

default_days    = 365                   # 证书有效期
default_crl_days= 30                    # 证书吊销列表发布间隔

policy          = policy_match或anything        # CA策略,match必须匹配,anything    无需匹配
    
              
查看证书状态:
openssl ca -status #



实验1:向CA申请证书
一、
服务器端建立根CA
1、生成私钥
(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem -des 2048)
2、自签名证书
openssl req -new x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem days 3650
CN
GZ
GZ
magedu
M30
www.x1amg.com
3、查看自签名证书:
openssl x509 -in /etc/pki/CA/private/cakey.pem -noout -text
4、建立证书数据库和下一个证书编号
touch /etc/pki/CA/index.txt 
vim /etc/pki/CA/serial
01


二、
建立客户端申请证书
1、生成私钥  ---存放在与软件的配置文件同一目录
(umask 077;openssl genrsa -out /data/test.key 2048)
2、生成证书申请文件
openssl req -new -key /data/test.key -out /data/test.csr
CN
GZ
GZ
magedu
M30
www.x1amg.com
3、把证书申请文件发送到服务器端
scp /data/test.csr 192.168.10.10:/etc/pki/CA


三、
CA颁发证书
1、生成证书文件
openssl ca -in /etc/pki/CA/test.csr -out /etc/pki/CA/certs/test.pem -days 100
2、把证书文件回传客户端
scp /etc/pki/CA/certs/test.pem 192.168.10.10:/data


四、
1、吊销证书
openssl ca -revoke /etc/pki/CA/newcerts/#.pem
2、创建下一个吊销证书编号
vim /etc/pki/CA/crlnumber
01
3、发布到证书吊销列表
openssl ca -gencrl -out /etc/pki/CA/crl.pem
4、查看证书吊销列表
openssl crl -in /etc/pki/CA/crl.pem -noout -text

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金牌收租佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值