闲碎记事本 闲碎记事本
首页
  • JAVA
  • Cloudflare
  • 学完再改一遍UI
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

YAN

我要偷偷记录...
首页
  • JAVA
  • Cloudflare
  • 学完再改一遍UI
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • java

  • linux

  • docker

  • redis

  • nginx

  • mysql

  • 其他

    • 跨域处理
    • Homebrew简单语法
    • 音视频处理库
    • ES设置设置密码
    • 关于与或运算的一些理解
    • AI绘画学习
    • Content-Type对应处理
    • gitlab迁移
    • opssl命令
      • 安装openssl
      • 操作命令
        • 私钥
        • 生成私钥
        • 查看私钥
        • 公钥
        • 从私钥提取公钥
        • 显示公钥内容
        • 从.csr或证书文件中提取公钥
        • 从证书文件(如 .crt 或 .cer)提取公钥
        • CSR
        • 生成私钥和 CSR 文件:
        • 提交 CSR 文件给 CA:
        • CA 生成证书:
        • 获得证书并安装:
        • 使用私钥生成CSR
        • 查看csr
        • 发证
        • 使用OpenSSL秘钥生成 X.509 证书
        • 使用OpenSSL秘钥签署CSR生成 X.509 证书
        • 使用CA证书签署CSR生成X.509 证书
        • 查看证书信息
        • 证书转换
        • PEM 转 DER:
        • DER 转 PEM:
    • certd证书续期
    • git使用
    • Google搜索
    • Emoji速查
  • 环境搭建

  • 知识库
  • 其他
YAN
2024-10-31
目录

opssl命令

使用openssl生成秘钥对,证书申请文件以及数字证书。

# 安装openssl

传送门 (opens new window)

# 操作命令

点击查看
命令 描述
openssl req 处理证书请求(CSR)
openssl x509 处理 X.509 证书
openssl rsa/dsa/ec 生成RSA/DSA/椭圆曲线ES私钥
openssl genpkey 处理 RSA 密钥
-algorithm RSA 指定生成 RSA 密钥
-inform 指定输入文件的格式,例如:PEM/DER
-outform 指定输出文件的格式,例如:PEM/DER
-x509 生成自签名证书
-new 生成新的证书
-in 指定输入的证书请求文件(csr)
-CA 指定用于签署证书的 CA 证书文件
-key 指定用于生成证书的私钥文件
-signkey 指定用于签名的私钥文件
-CAkey 指定用于签署证书的 CA 私钥文件
-CAcreateserial 生成并使用一个序列号文件
-days 证书的有效期天数
-out 生成的签名证书输出文件
-pkeyopt rsa_keygen_bits:2048 指定 密钥的长度为 2048 位
-sha256 使用 SHA-256 哈希算法进行签名
-subj "/CN=My Custom CA" 证书的通用名称(Common Name)为 My Custom CA
-text 以文本格式输出密钥的详细信息
-noout 不输出密钥的原始内容
-pubkey 输出公钥
-check 检查密钥的完整性和一致性
--- ---

# 私钥

# 生成私钥

openssl genpkey -algorithm RSA -out private_key.pem

# 查看私钥

openssl rsa -in private_key.pem -check

# 公钥

# 从私钥提取公钥

openssl rsa -in private_key.pem -pubout -out public_key.pem

# 显示公钥内容

openssl rsa -in private_key.pem -pubout

# 从.csr或证书文件中提取公钥

openssl req -in request.csr -noout -pubkey

# 从证书文件(如 .crt 或 .cer)提取公钥

openssl x509 -in certificate.crt -noout -pubkey

# CSR

通过CSR申请证书流程

# 生成私钥和 CSR 文件:

个人或组织在本地生成一对密钥对:一个私钥和一个公钥。 使用生成的私钥来创建一个 CSR(证书签名请求,.csr 文件)。CSR 文件包含申请者的公钥和身份信息(如域名、组织名等),并由私钥对这些信息签名。 注意: 私钥并不会出现在 CSR 文件中,且不会被发送给证书颁发机构(CA)。私钥是保密的,只由申请人自己持有。

# 提交 CSR 文件给 CA:

个人或组织将生成的 .csr 文件提交给证书颁发机构(CA)。 CA 根据 CSR 文件中的信息验证申请人的身份。验证方法可能包括域名验证、组织验证等。

# CA 生成证书:

一旦 CA 验证成功,它会使用 CA 自己的私钥对 CSR 中的公钥和身份信息进行签名,生成证书文件(通常为 .crt 或 .cer)。 证书文件包含了申请人的公钥、身份信息以及 CA 的数字签名。这样,证书可以被其他人验证为“由 CA 颁发”,并确定证书内容的完整性。

# 获得证书并安装:

CA 将生成的证书文件(.crt 或 .cer)返回给申请人。 申请人可以将该证书文件与自己的私钥一起配置在服务器上,完成 SSL/TLS 安装。

# 使用私钥生成CSR

openssl req -new -key private_key.pem -out request.csr

# 查看csr

openssl req -in request.csr -noout -text

# 发证

# 使用OpenSSL秘钥生成 X.509 证书

openssl req  -x509 -new -key private.key -days 365 -out certificate.crt 

# 使用OpenSSL秘钥签署CSR生成 X.509 证书

openssl x509 -req -days 10 -in request.csr -signkey private_key.pem -out certificate.crt

# 使用CA证书签署CSR生成X.509 证书

# 1. 生成自签名证书
openssl req -x509 -new -key private_key.pem -days 3650 -out ca_cert.pem -subj "/CN=My Custom CA"

# 2. 使用CA证书和私钥签署 CSR
openssl x509 -req -in request.csr -CA ca_cert.pem -CAkey ca_private_key.pem -CAcreateserial -out signed_cert.crt -days 365 -sha256

描述

openssl req -x509:用于生成自签名证书。

openssl x509 -req:用于处理证书请求(CSR)并生成由证书颁发机构证书(CA)签名的证书。

# 查看证书信息

openssl x509 -in certificate.crt -text -noout 

# 证书转换

# PEM 转 DER:

openssl x509 -in certificate.crt -outform DER -out certificate.cer

# DER 转 PEM:

openssl x509 -in certificate.cer -inform DER -outform PEM -out certificate.crt
上次更新: 2025/05/14, 01:34:05
gitlab迁移
certd证书续期

← gitlab迁移 certd证书续期→

最近更新
01
Caddy操作指南
04-25
02
Swap空间
04-22
03
Alist使用
04-21
更多文章>
Theme by Vdoing | Copyright © 2022-2025 YAN | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式