Linux系统中OpenSSL的配置文件通常为openssl.cnf
,常见路径有/etc/ssl/openssl.cnf
、/etc/pki/tls/openssl.cnf
等。以下是其核心配置段及参数详解:
配置文件由多个段(Section)组成,每个段以[section_name]
开头,参数以key=value
格式定义。
HOME
:默认工作目录,通常为.
(当前目录)。RANDFILE
:随机数种子文件路径,默认为$ENV::HOME/.rnd
。oid_section
:指向对象标识符(OID)段,如new_oids
。default_bits
:私钥密钥长度,默认2048位。default_md
:签名算法,默认sha256
。default_keyfile
:私钥默认存放路径,如privkey.pem
。distinguished_name
:引用证书请求中的可识别字段(DN),如国家、组织等。x509_extensions
:自签名证书的扩展项,如v3_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天。basicConstraints
:是否为CA证书,CA:TRUE/FALSE
。keyUsage
:密钥用途,如digitalSignature
、keyEncipherment
。subjectKeyIdentifier
:证书主体标识符,通常为hash
。[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
[ca]
段设置dir
为CA根目录,并在[CA_default]
中指定证书存储路径。openssl ca -in server.csr -out server.crt -config openssl.cnf
-config
参数指定自定义配置文件路径,覆盖默认配置。private/cakey.pem
)需设置为600
权限,防止未授权访问。man openssl.cnf
文档。详细参数可参考man openssl.cnf
或官方文档,实际配置时需根据具体场景调整。