openssl3.2 - 官方demo学习 - test - certs - 001 - Primary root: root-cert

openssl3.2 - 官方demo学习 - test - certs - 001 - Primary root: root-cert

概述

实验前置条件为 openssl3.2 - linux脚本(.sh)调用openssl命令行参数的简单确认方法

笔记

做官方第2个实验时, 才发现, 自己记录的管道文件没有考虑-extfile后面带的管道.
重新修正了openssl的入口日志记录实现, 现在ok了.

命令行 - 原始
openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:2048 -out root-key.pem
openssl req -new -sha256 -key root-key.pem -config /dev/fd/63
openssl x509 -req -sha256 -out root-cert.pem -extfile /dev/fd/63 -signkey root-key.pem -set_serial 1 -days 36525

命令行 - 整理

openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:2048 -out root-key.pem
openssl req -new -sha256 -key root-key.pem -config config_cfg.txt -out root_req.pem
openssl x509 -req -sha256 -in root_req.pem -out root-cert.pem -extfile extfile_cfg.txt -signkey root-key.pem -set_serial 1 -days 36525

配置文件 - config_cfg.txt
string_mask=utf8only
[req]
prompt = no
distinguished_name = dn
[dn]
CN = Root CA

配置文件 - extfile_cfg.txt
basicConstraints = critical,CA:true
keyUsage = keyCertSign,cRLSign
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid

// --------------------------------------------------------------------------------
命令行实验1
openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:2048 -out root-key.pem
// --------------------------------------------------------------------------------
功能 - 产生私钥
参数含义 - 产生私钥 - 算法为rsa - 私钥位数2048 - 输出文件 - root-key.pem

// --------------------------------------------------------------------------------
命令行实验2
openssl req -new -sha256 -key root-key.pem -config config_cfg.txt -out root_req.pem
// --------------------------------------------------------------------------------
功能 - 生成证书请求文件
参数含义 - 请求新的证书请求文件 - 摘要算法为sha256 - 私钥为 root-key.pem
配置文件为 config_cfg.txt 输出文件为root_req.pem

// --------------------------------------------------------------------------------
命令行实验3
openssl x509 -req -sha256 -in root_req.pem -out root-cert.pem -extfile extfile_cfg.txt -signkey root-key.pem -set_serial 1 -days 36525
// --------------------------------------------------------------------------------
功能 - 生成证书
参数含义- 进行X509请求 - 摘要算法=sha256 输入的证书请求文件为root_req.pem
输出的证书名称=root-cert.pem 扩展配置文件=extfile_cfg.txt
签名密钥=root-key.pem 证书序列号=1 正式有效天数=36525

备注

官方原版的脚本调用命令行的实现, 如果改为落地的配置文件的调用, 需要改命令行的参数.

生成证书请求文件时, 如果不加 -out 选项, 证书请求文件是不落地的, 只是打印到stdout.

生成证书时, 需要证书请求文件. 需要加 -in 参数, 后面带着证书请求文件的名称.

这说明, 即使官方提供了非正式的例子(/test/certs/setup.sh), 如果自己不实践, 也不是拿过来就能用的.

END

相关推荐

  1. openssl3.2/test/certs - 006 - trust variants: +anyEKU -anyEKU

    2024-01-22 13:40:01       34 阅读
  2. openssl3.2/test/certs - 018 - trust variants: +anyEKU, -anyEKU

    2024-01-22 13:40:01       36 阅读
  3. openssl3.2/test/certs - 044 - 8192-bit leaf key

    2024-01-22 13:40:01       35 阅读
  4. openssl3.2/test/certs - 043 - 4096-bit leaf key

    2024-01-22 13:40:01       38 阅读
  5. openssl3.2/test/certs - 033 - time stamping certificates

    2024-01-22 13:40:01       38 阅读
  6. openssl3.2/test/certs - 042 - 3072-bit leaf key

    2024-01-22 13:40:01       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-22 13:40:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-22 13:40:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-22 13:40:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-22 13:40:01       20 阅读

热门阅读

  1. brpc负载均衡load balance和服务发现name servicing

    2024-01-22 13:40:01       29 阅读
  2. 计算机通信:HTTP协议

    2024-01-22 13:40:01       34 阅读
  3. 编程笔记 html5&css&js 050 CSS表格2-1

    2024-01-22 13:40:01       28 阅读
  4. Golang爬虫技术

    2024-01-22 13:40:01       36 阅读
  5. 用go语言删除重复文件

    2024-01-22 13:40:01       36 阅读
  6. Vue.js:构建用户界面的渐进式框架

    2024-01-22 13:40:01       27 阅读
  7. 华为网络设备常用命令大全

    2024-01-22 13:40:01       44 阅读
  8. Vue 批量注册全局组件

    2024-01-22 13:40:01       34 阅读