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或官方文档,实际配置时需根据具体场景调整。