当基于 RSA 密钥对生成 CSR 时,req为方便起见,我使用 OpenSSL 命令:
openssl req -new -noenc -config 'server.cert.conf' -keyout 'private/server.key.pem' -out 'server.csr.pem'
Run Code Online (Sandbox Code Playgroud)
我喜欢将详细信息放入配置文件中,该文件如下所示:
[ req ]
prompt = no
utf8 = yes
default_bits = 2048
default_md = sha256
distinguished_name = req_distinguished_name
req_extensions = req_extensions
[ req_distinguished_name ]
CN = foo.example.net
[ req_extensions ]
subjectAltName=@alt_names
[ alt_names ]
DNS.1 = foo.example.net
DNS.2 = bar.example.net
Run Code Online (Sandbox Code Playgroud)
现在我想使用 ECDSA 密钥,但还没有找到将所有必要参数放入配置文件中的方法。相反,我必须调用多个 OpenSSL 命令并指定一些参数作为命令参数:
$ openssl genpkey -genparam -algorithm ec -pkeyopt ec_paramgen_curve:secp384r1 -out server.key.params.pem
$ openssl genpkey -paramfile server.key.params.pem …Run Code Online (Sandbox Code Playgroud)