温馨提示×

Linux系统中OpenSSL的配置文件详解

小樊
79
2025-09-08 21:42:41
栏目: 云计算

Linux系统中OpenSSL的配置文件通常为openssl.cnf,常见路径有/etc/ssl/openssl.cnf/etc/pki/tls/openssl.cnf等。以下是其核心配置段及参数详解:

一、配置文件结构与核心段落

配置文件由多个段(Section)组成,每个段以[section_name]开头,参数以key=value格式定义。

1. 默认段(无段名或自定义)

  • 作用:定义全局默认参数,如路径、随机数文件等。
  • 关键参数
    • HOME:默认工作目录,通常为.(当前目录)。
    • RANDFILE:随机数种子文件路径,默认为$ENV::HOME/.rnd
    • oid_section:指向对象标识符(OID)段,如new_oids

2. 证书请求相关段([req])

  • 作用:配置证书请求(CSR)的生成参数。
  • 关键参数
    • default_bits:私钥密钥长度,默认2048位。
    • default_md:签名算法,默认sha256
    • default_keyfile:私钥默认存放路径,如privkey.pem
    • distinguished_name:引用证书请求中的可识别字段(DN),如国家、组织等。
    • x509_extensions:自签名证书的扩展项,如v3_ca

3. 证书签发相关段([ca])

  • 作用:配置CA的默认行为,如证书存储路径、有效期等。
  • 关键参数
    • dir:CA根目录,默认为当前目录。
    • certs:已颁发证书存放路径,默认$dir/certs
    • crl_dir:证书吊销列表(CRL)存放路径,默认$dir/crl
    • database:证书数据库文件路径,默认$dir/index.txt
    • serial:证书序列号文件路径,默认$dir/serial
    • private_key:CA私钥路径,默认$dir/private/cakey.pem
    • default_days:证书默认有效期(天),默认365天。

4. 扩展配置段([v3_ca]、[usr_cert]等)

  • 作用:定义证书的扩展属性,如用途、约束等。
  • 关键参数
    • basicConstraints:是否为CA证书,CA:TRUE/FALSE
    • keyUsage:密钥用途,如digitalSignaturekeyEncipherment
    • subjectKeyIdentifier:证书主体标识符,通常为hash

二、常用配置场景

1. 生成自签名证书

  • 配置要点:在[req]段设置x509_extensions = v3_ca,并指定basicConstraints = CA:TRUE
  • 命令示例
    openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -config openssl.cnf
    

2. 配置CA证书

  • 配置要点:在[ca]段设置dir为CA根目录,并在[CA_default]中指定证书存储路径。
  • 命令示例
    openssl ca -in server.csr -out server.crt -config openssl.cnf
    

三、注意事项

  1. 路径优先级:可通过-config参数指定自定义配置文件路径,覆盖默认配置。
  2. 权限管理:私钥文件(如private/cakey.pem)需设置为600权限,防止未授权访问。
  3. 版本差异:不同OpenSSL版本(如1.1.1与3.x)的配置语法可能略有差异,建议参考对应版本的man openssl.cnf文档。

详细参数可参考man openssl.cnf或官方文档,实际配置时需根据具体场景调整。

0