学习笔记-openssl

openssl


什么是x509证书链

x509 证书一般会用到三类文件,key,csr,crt.

  • Key 是私用密钥,openssl 格式,通常是 rsa 算法.
  • csr 是证书请求文件,用于申请证书.在制作 csr 文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥.
  • crt 是 CA 认证后的证书文件(windows 下面的 csr,其实是 crt),签署人用自己的 key 给你签署的凭证.

openssl 中有如下后缀名的文件

  • .key 格式:私有的密钥
  • .csr 格式:证书签名请求(证书请求文件),含有公钥信息,certificate signing request 的缩写
  • .crt 格式:证书文件,certificate 的缩写
  • .crl 格式:证书吊销列表,Certificate Revocation List 的缩写
  • .pem 格式:用于导出,导入证书时候的证书的格式,有证书开头,结尾的格式

证书各个字段的含义

查看证书的内容

openssl x509 -in /etc/pki/CA/cacert.pem -noout -text|egrep -i "issuer|subject|serial|dates"
  • CN : 公用名称 (Common Name)
  • O : 单位名称 (Organization Name)
  • L : 所在城市
  • S : 所在省份
  • C : 所在国家
  • OU : 显示其他内容
  • E : 电子邮件
  • G : 多个姓名字段
  • Description : 介绍
  • Phone : 电话号码
  • STREET : 地址
  • PostalCode : 邮政编码

CA 根证书的生成步骤

生成 CA 私钥(.key)-->生成 CA 证书请求(.csr)-->自签名得到根证书(.crt)(CA 给自已颁发的证书).

st=>start: 生成 CA 私钥(.key)
op=>operation: 生成 CA 证书请求(.csr)
cond=>condition: 自签名得到根证书(.crt)

st->op->cond

生成 CA 私钥

cd /etc/pki/CA/private
openssl genrsa 2048 > cakey.pem

生成自签证书、用 openssl 中 req 这个命令

openssl req -new -x509 -key cakey.pem -out /etc/pki/CA/cacert.pem

在 CA 的目录下创建两个文件:

cd /etc/pki/CA
touch index.txt # 索引问文件
touch serial    # 给客户发证编号存放文件
echo 01 > serial
mkdir /etc/httpd/ssl
cd /etc/httpd/ssl
openssl genrsa 1024 > httpd.key
openssl req -new -key httpd.key > httpd.csr
openssl ca -days 365 -in httpd.csr > httpd.crt

# 查看 openssl 证书数据库文件
cat /etc/pki/CA/index.txt

keytool 自签

keytool \
 -keystore server.jks  -storepass test123456  -deststoretype pkcs12 \
 -genkeypair -keyalg RSA -validity 395 -keysize 2048  -sigalg SHA256withRSA \
 -dname "CN=*.test.com"

openssl pkcs12 -in server.jks -nodes -nocerts -out ca.key
openssl pkcs12 -in server.jks -nokeys -out ca.crt

openssl x509 -in ca.crt -noout -text

随机数

openssl rand -base64 16

Source & Reference

点击关注,共同学习!安全狗的自我修养

github haidragon

https://github.com/haidragon

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

C-haidragon

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

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

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

打赏作者

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

抵扣说明:

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

余额充值