注:本实验在fedora 24下,openssl1.1.0

  • 初始化

    rm -rf /etc/pki/CA/*.old
    touch /etc/pki/CA/index.txttouch /etc/pki/CA/index.txt.attr
    echo "unique_subject = no" > index.txt.attrecho 01 > /etc/pki/CA/serial
    echo 02 > /etc/pki/CA/serial
    rm -rf keys
    mkdir keys
    
  • 生成根CA并自签(Common Name填RootCA)

    openssl genrsa -des3 -out keys/RootCA.key 2048
    openssl req -new -x509 -days 3650 -key keys/RootCA.key -out keys/RootCA.crt
    
  • 生成二级CA(Common Name填SecondCA)

openssl genrsa -des3 -out keys/secondCA.key 2048
openssl rsa -in keys/secondCA.key -out keys/secondCA.key
openssl req -new -days 3650 -key keys/secondCA.key -out keys/secondCA.csr
openssl ca -extensions v3_ca -in keys/secondCA.csr -config /etc/pki/tls/openssl.cnf -days 3650 -out keys/secondCA.crt -cert keys/RootCA.crt -keyfile keys/RootCA.key
  • 生成三级CA(Common Name填ThirdCA)
openssl genrsa -des3 -out keys/thirdCA.key 2048
openssl rsa -in keys/thirdCA.key -out keys/thirdCA.key
openssl req -new -days 3650 -key keys/thirdCA.key -out keys/thirdCA.csr
openssl ca -extensions v3_ca -in keys/thirdCA.csr -config /etc/pki/tls/openssl.cnf -days 3650 -out keys/thirdCA.crt -cert keys/secondCA.crt -keyfile keys/secondCA.key
  • 使用三级CA签发服务器证书
openssl genrsa -des3 -out keys/server.key 2048
openssl rsa -in keys/server.key -out keys/server.key
openssl req -new -days 3650 -key keys/server.key -out keys/server.csr
openssl ca -in keys/server.csr -config /etc/pki/tls/openssl.cnf -days 3650 -out keys/server.crt -cert keys/thirdCA.crt -keyfile keys/thirdCA.key

注:

指定证书数据内容

-subj /C=CN/ST=Guangdong/L=Shenzhen/O=PAX/OU=Common Software/CN=Server CA/emailAddress=qiaojx@paxsz.com

去掉key加密的输入提示:

去掉 -des3

don’t ask question

-batch

crt转pem格式

openssl x509 -in mycert.crt -out mycert.pem -outform PEM

吊销证书(作废证书)

首先

echo 00 > /etc/pki/CA/crlnumber

一般由于用户私钥泄露等情况才需要吊销一个未过期的证书。(当然我们用本测试CA时其时很少用到该命令,除非专门用于测试吊销证书的情况)
假设需要被吊销的证书文件为client.pem,则执行以下命令吊销证书:

openssl ca -revoke client.pem -cert RootCA.pem -keyfile RootCA.key -config /etc/pki/tls/openssl.cnf

生成证书吊销列表文件(CRL)
准备公开被吊销的证书列表时,可以生成证书吊销列表(CRL),执行命令如下:

openssl ca -gencrl -out client.crl -cert RootCA.pem -keyfile RootCA.key -config /etc/pki/tls/openssl.cnf

还可以添加-crldays和-crlhours参数来说明下一个吊销列表将在多少天后(或多少小时候)发布。

可以用以下命令检查client.crl的内容:

openssl crl -in client.crl -text -noout

openssl生成证书链多级证书、证书吊销列表(CRL)相关推荐

  1. 证书介绍及openssl生成证书和吊销列表

    转自:http://www.mamicode.com/info-detail-1082882.html 一,先来讲讲基本概念. 证书分类: 按类型可以分为CA证书和用户用户证书,我们我说的root也是 ...

  2. 证书吊销列表(CRL)简单介绍与相关openssl C api功能测试

    文章目录 1 前言 2 基础知识 3 Openssl C api 4 测试代码 4.1 测试脚本 4.2 测试程序 1 前言 在近期的工作项目中涉及到了证书吊销列表(CRL)相关的一些知识,打算记录一 ...

  3. 使用证书保护网站--兼谈证书服务器吊销列表的使用

    现在许多企业与个人,都拥有属于自己的网站,并且发布在Internet供朋友.合作伙伴或其他人所访问,但是,在许多情况下,某些发布到Internet的网站,只想让指定的用户或指定的人来访问,那么应该怎么 ...

  4. linux 运行ca.crt,linux下使用openssl生成 csr crt CA证书,opensslcsr

    linux下使用openssl生成 csr crt CA证书,opensslcsr 本文主要借鉴和引用了下面2个地址的内容,然后在自己的机器上进行了测试和执行,并做了如下记录. ref: http:/ ...

  5. 什么是证书吊销列表(CRL)? 吊销列表起什么作用 ?

    答:证书吊销列表 (Certificate Revocation List ,简称: CRL) 是 PKI 系统中的一个结构化数据文件,该文件包含了证书颁发机构 (CA) 已经吊销的证书的序列号及其吊 ...

  6. 使用OpenSSL生成自己服务器的证书

    之前做实验的时候,曾经写过一篇博客,如何使用OpenSSL创建证书.这里再做一个整理,增加一些内容,精简一部分内容. 参考链接 OpenSSL Certificate Authoirty 信安实践-- ...

  7. OPENSSL生成SSL自签证书

    OPENSSL生成SSL自签证书 目前,有许多重要的公网可以访问的网站系统(如网银系统)都在使用自签SSL证书,即自建PKI系统颁发的SSL证书,而不是部署支持浏览器的SSL证书. 支持浏览器的SSL ...

  8. java 解析证书吊销列表 crl

    所需证书吊销列表:https://pan.baidu.com/s/1gka42qZn8gsr5Y2tyZdmqw?pwd=6666 package org.example;import java.io ...

  9. IIS 使用OpenSSL 生成的自签名证书,然后使用SingalR 客户端访问Https 站点通信

    使用SignalR 的客户端去发送消息给使用 https 部署的站点,官方文档目前并没有详细的教程,所以在此记录下步骤: 使用管理员身份打开cmd 窗口,选择一个整数保存文件夹的地址,切换到对应的文件 ...

最新文章

  1. linux硬链接与软链接
  2. Centos下通过SMTP发送邮件失败解决
  3. 用python画月亮的代码-用 Python 画一个超级月亮
  4. Metal之Shading Language Specification(着色语言规范)
  5. Dataguru培训优惠码 分享
  6. 序列复杂度怎么看_《趣学算法》作者又一力作上架,再分享您一篇算法复杂度...
  7. vue.js踩坑之单向数据流
  8. oppo手机解锁_手机解锁新风尚,OPPO的光域屏幕指纹技术又是哪根儿葱
  9. springboot 整合 mvc 配置外部静态资源
  10. sql top加不加括号的区别_SQL易错点大作战
  11. 雨林木风推出高仿Windows操作系统
  12. maya导入abc动画_UE4 Alembic 动画资产流程的整理
  13. Pytorch扫盲 - 安装、训练、测试、可视化、网络结构、finetune、loss
  14. uc7.5java下载,ucweb手机浏览器7.5 java版 UC浏览器Java
  15. java 运行配置_JAVA运行环境配置
  16. 抖音程序员向女友表白小程序源码及程序包
  17. Word如何添加图片水印,看这里就够了!怎样在word加入图像水印
  18. 习题2.9 编写程序,由键盘输入20个整数,分别炸出其中的最大正整数、最小正整数、最大负整数、最小负整数
  19. 零基础,该选3D手绘低模还是次世代高模呢?
  20. 国产linux操作系统深度系统20.3发布(推荐)

热门文章

  1. JS--对象数组深拷贝的方法
  2. git clone Authentication failed
  3. python pyc文件是啥_python pyc文件
  4. 利用python通过cmd指令对文件进行删除
  5. 区块链助力可再生能源走上新赛道
  6. matlab svmtrain和svmclassify函数使用示例
  7. 你容易忽视的编程问题
  8. WEB FRONT-END NOTE DAY02
  9. Ubuntu系统目录
  10. 6、庆祝六一--全国模拟(四)