RSAで簡単に実行できる方法と似ています。
openssl req -x509 -nodes -newkey rsa:2048 -Rand /dev/urandom -keyout example.key -out example.crt -days 365
ECDSA証明書/キーを1つのステップで生成したいのですが。私はもう試した:
openssl req -x509 -nodes -newkey ec:secp384r1 -keyout ecdsa.pem -out mycert.crt -days 30
以下のエラーを返します
パラメータファイルsecp384r1を開けません。
使用する曲線を指定しようとしています。キーファイルが存在する場合は、ec:example-ecdsa.pem
を使用して指定でき、機能します。
おそらく、次のようなものが微調整で機能します。
openssl req -new -x509 -nodes -newkey ec:$(openssl ecparam -name secp384r1) -keyout cert.key -out cert.crt -days 3650
これはあなたが望むコマンドのようでした:
openssl req -new -x509 -nodes -newkey ec:<(openssl ecparam -name secp384r1) -keyout cert.key -out cert.crt -days 3650
openssl ecparam -name secp521r1 -genkey -param_enc explicit -out private-key.pem
openssl req -new -x509 -key private-key.pem -out server.pem -days 730
OpenSSLを使用した自己署名ECDSA SSL証明書の作成 は私のために働いています。
次のようにして、生成後に証明書をテストできます。
openssl ecparam -in private-key.pem -text -noout
使用する -pkeyopt
openssl req -x509 -nodes -newkey ec -pkeyopt ec_paramgen_curve:secp384r1 -keyout ecdsa.pem -out mycert.crt -days 30
Man reqによると:
OPTIONS
-pkeyopt opt:value
set the public key algorithm option opt to value. The precise set of options supported depends on the public key algorithm used and its implementation. See KEY GENERATION OPTIONS in the genpkey manual page for more details.
それでは、man genpkeyを見てください。
EC PARAMETER GENERATION OPTIONS
The EC parameter generation options below can also be supplied as EC key generation options. This can (for example) generate a key from a named curve without the need to use an explicit parameter file.
ec_paramgen_curve:curve
the EC curve to use. OpenSSL supports NIST curve names such as "P-256".
ec_param_enc:encoding
the encoding to use for parameters. The "encoding" parameter must be either "named_curve" or "explicit".
ECC secp384r1キー+代替サブジェクト名のCSRを作成する1つのライナー:
export FQDN="www.example.com" ; export FQDNA="DNS.1=$FQDN, DNS.2=example.com, DNS.3=es.example.com, DNS.4=it.example.com, DNS.5=pt.example.com, DNS.6=de.example.com, DNS.7=fr.example.com" ; openssl req -new -nodes -newkey ec:<(openssl ecparam -name secp384r1 -Rand /dev/urandom) -keyout $FQDN.secp384r1.key -out $FQDN.secp384r1.csr -subj "/C=US/ST=Minnesota/L=Minneapolis/O=Me and my Feast/OU=IT Dept./CN=$FQDN/subjectAltName=$FQDNA"