banner
NEWS LETTER

OpenSSL搭建CA证书颁发机构Genpkey

Scroll down

本文作者:丁辉

OpenSSL搭建CA证书颁发机构Genpkey

官网文档

基础环境准备

  1. 安装 OpenSSL

    • Centos

      1
      yum install openssl -y
    • Ubuntu

      1
      apt install openssl -y

创建根证书颁发机构

  1. 生成 CA 私钥

    1
    openssl genpkey -algorithm RSA -out RootCA.key

    -pkeyopt rsa_keygen_bits:4096 -aes256

  2. 生成 CA 自签名证书

    1
    openssl req -key RootCA.key -new -x509 -days 3650 -out RootCA.pem -subj "/C=CN/ST=Beijing/L=Beijing/O=Linux/OU=Linux/CN=*.com"

    -subj:后面跟着的是一个字符串,用于指定证书的主题(Subject)字段。这些字段包含了证书所有者的识别信息,通常用于证书显示和验证过程中。各个字段的意义如下:

    • /C=CN:国家名称,使用两位国家代码,例如 CN 代表中国。
    • /ST=YourState:州或省份名称,根据你的地理位置填写。
    • /L=YourCity:城市名称,根据你的地理位置填写。
    • /O=YourOrganization:组织名称,表示证书所有者所属的公司或组织。
    • /OU=YourOrganizationalUnit:组织单位名称,是组织内部的一个部门或单位。
    • /CN=YourCommonName:常用名称,通常是域名或个人的名称。对于根 CA,这里可以是机构的名称或描述。
    • /emailAddress=your.email@example.com:电子邮件地址,用于联系证书的所有者。

创建并签署子证书(这里演示为泛域名证书)

  1. 生成子证书密钥

    1
    openssl genpkey -algorithm RSA -out wildcard.key
  2. 创建证书签名请求(CSR)

    使用子证书的私钥创建一个 CSR。CSR 包含证书的相关信息。

    1
    openssl req -new -key wildcard.key -out wildcard.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=Linux/OU=Linux/CN=*.com"
  3. 使用根证书签署子证书

    1
    openssl x509 -req -days 3650 -in wildcard.csr -CA RootCA.pem -CAkey RootCA.key -CAcreateserial -out wildcard.crt  -sha256

分发证书

将子证书(server.pem)和根证书(RootCA.pem)分发给需要验证身份的用户或系统。

注意事项:

  • 安全性:确保私钥文件(如 RootCA.key 和 server.key)安全存储,避免泄露。
  • 有效期:根证书通常具有较长的有效期(如 10 年),而子证书具有较短的有效期(如 1 年)。根据你的安全政策调整这些设置。
  • 撤销列表(CRL)和在线证书状态协议(OCSP):为了提高安全性,建立机制以撤销或检查证书的有效性。

这只是创建 CA 和管理证书的基本概念。实际操作中,可能需要考虑更多的安全措施和复杂的配置选项。

1
openssl pkcs12 -export -out RootCA.pfx -inkey RootCA.key -in RootCA.pem

I'm so cute. Please give me money.

其他文章
cover
Nexus忘记密码
  • 70/01/01
  • 00:00
  • Linux-资源安装
cover
Teleport部署
  • 70/01/01
  • 00:00
  • Linux-资源安装
目录导航 置顶
  1. 1. OpenSSL搭建CA证书颁发机构Genpkey
    1. 1.1. 基础环境准备
    2. 1.2. 创建根证书颁发机构
    3. 1.3. 创建并签署子证书(这里演示为泛域名证书)
    4. 1.4. 分发证书
      1. 1.4.1. 注意事项:
请输入关键词进行搜索