• OpenSSL ca证书命令操作详解


    OpenSSL 的 ca 命令用于操作证书颁发机构(CA,Certificate Authority)的操作,包括签发、撤销和管理证书。以下是 OpenSSL 版本 3.0 中 openssl ca 命令的详细使用手册。请注意,由于文本长度限制,以下内容可能不包含所有参数的详细说明。你可以使用 openssl ca -help 命令在终端中获取帮助信息。

    一、ca测试证书生成

    首先我们需要生成一个ca证书。在linux操作有一个脚本可以直接帮助我们生成ca证书。

    二、openssl ca命令语法说明

    openssl ca -cert ca_cert.pem -keyfile ca_key.pem -config ca_config.cnf
               [-in file] [-out file] [-outdir dir] [-infiles file ...] [-spkac file]
               [-key file] [-keyform PEM|DER] [-keyfile file] [-keyform PEM|DER]
               [-out file] [-outform PEM|DER] [-extensions section] [-extfile file]
               [-revoke file] [-subj arg] [-utf8] [-nameopt option] [-cert arg]
               [-enddate YYMMDDHHMMSSZ] [-days arg] [-md arg] [-batch] [-preserveDN]
               [-policy arg] [-preserveDN] [-preserveDN]
               [-include file] [-rand file(s)] [-engine id]
               [-status serial|hex] [-updatedb] [-crldays arg]
               [-crlhours arg] [-crlsec arg] [-crlexts section]
               [-engine id] [-createdb] [-msie_hack] [-noemailDN] [-extfile file]
               [-selfsign] [-separate] [-crlexts section]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    参数说明:

    • -cert ca_cert.pem:指定 CA 证书文件。

    • -keyfile ca_key.pem:指定 CA 私钥文件。

    • -config ca_config.cnf:指定 OpenSSL 配置文件。

    • -in file:输入的证书签署请求文件。

    • -out file:输出的签署证书文件。

    • -outdir dir:指定输出目录。

    • -infiles file ...:输入的多个证书签署请求文件。

    • -spkac file:输入的 Netscape SPKAC 文件。

    • -key file:签署证书时使用的私钥文件。

    • -out file:输出的签署证书文件。

    • -extensions section:指定证书扩展字段。

    • -extfile file:从文件中读取扩展字段配置。

    • -revoke file:吊销证书。

    • -subj arg:自定义证书主题字段。

    • -utf8:使用 UTF8 编码。

    • -nameopt option:指定证书主题名称选项。

    • -enddate YYMMDDHHMMSSZ:设置证书的截止日期。

    • -days arg:设置证书的有效期天数。

    • -md arg:指定摘要算法(如 sha256)。

    • -batch:批量模式,无需确认。

    • -preserveDN:保留原始主题名称。

    • -include file:包含其它 CA 配置文件。

    • -rand file(s):指定随机数种子文件。

    • -engine id:指定加密引擎。

    • -status serial|hex:检查证书状态。

    • -updatedb:更新证书数据库。

    • -crldays arg:设置 CRL 的有效期天数。

    • -crlhours arg:设置 CRL 的有效期小时数。

    • -crlsec arg:设置 CRL 的有效期秒数。

    • -crlexts section:指定 CRL 扩展字段。

    • -createdb:创建证书数据库。

    • -msie_hack:使用 MSIE 兼容模式。

    • -noemailDN:不使用电子邮件字段。

    • -selfsign:自签名 CA 证书。

    • -separate:对每个输入文件生成单独的证书。

    • -crlexts section:指定 CRL 扩展字段。


    请注意,实际使用时,你需要根据具体的需求和场景,选择合适的参数和配置文件来执行 openssl ca 命令。

    三、openssl ca 命令实操

    2.1 openssl ca -config 配置详解

    openssl ca -config 配置文件
    
    • 1

    OpenSSL 的 ca 命令使用的配置文件遵循 OpenSSL 配置文件的语法和结构。配置文件的格式是文本形式,可以包含各种指令和参数,用于定义 CA 的行为、规则和选项。以下是一个简单的 OpenSSL CA 配置文件的示例:

    [ ca ]
    default_ca = my_ca
    
    [ my_ca ]
    dir = /path/to/ca/directory
    certs = $dir/certs
    crl_dir = $dir/crl
    database = $dir/index.txt
    new_certs_dir = $dir/newcerts
    certificate = $dir/ca_cert.pem
    private_key = $dir/ca_key.pem
    serial = $dir/serial
    crl = $dir/ca_crl.pem
    RANDFILE = $dir/.rand
    
    default_md = sha256
    default_days = 365
    policy = my_policy
    x509_extensions = my_extensions
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    在这个配置文件中:

    • [ ca ][ my_ca ] 是配置段(section),用于定义 CA 的默认行为和规则。

    • default_ca = my_ca 指定了默认的 CA 配置段。

    • [ my_ca ] 配置段中,包含了 CA 相关的各种参数和选项,例如 CA 目录路径、证书、私钥、CRL(证书吊销列表)等文件的路径,摘要算法、证书有效期等设置。

    • default_md = sha256 指定了默认的摘要算法为 SHA-256。

    • default_days = 365 指定了默认的证书有效期为 365 天。

    • policy = my_policyx509_extensions = my_extensions 指定了自定义的策略和证书扩展。

    请根据实际需求修改配置文件中的参数和选项。在 OpenSSL 的官方文档或手册中,你可以找到更详细的配置文件指令和选项说明。配置文件是根据需要自定义的,可以根据你的 CA 需求灵活地配置各种规则和设置。

  • 相关阅读:
    SCT2330CTVBR
    rust打包编译为mac或者linux可执行文件,发送到别的电脑不能运行
    Spring MVC的执行流程(有图有真相)
    LeetCode 1282. 用户分组
    【计算机网络】计算机网络复习总结 ----- 链路层
    信息学奥赛一本通(c++):1407:笨小猴
    如何一站式管理固定资产的全生命周期?
    华为mate50和华为mate50pro区别 华为mate50和华为mate50pro参数对比
    机器学习——SVM(支持向量机)
    【C++笔试强训】第十天
  • 原文地址:https://blog.csdn.net/ARV000/article/details/134109189