12

秘密鍵と公開鍵を生成するための OpenSSL 用の次のコマンドがあります。

openssl genrsa –aes-128-cbc –out priv.pem –passout pass:[privateKeyPass] 2048

openssl req –x509 –new –key priv.pem –passin pass:[privateKeyPass] -days 3650 –out cert.cer

...しかし、それらは機能していません。最初のコマンドでは、次のエラーが発生します。

usage: genrsa [args] [numbits]
 -des            encrypt the generated key with DES in cbc mode
 -des3           encrypt the generated key with DES in ede cbc mode (168 bit key)
 -seed
                 encrypt PEM output with cbc seed
 -aes128, -aes192, -aes256
                 encrypt PEM output with cbc aes
 -camellia128, -camellia192, -camellia256
                 encrypt PEM output with cbc camellia
 -out file       output the key to 'file
 -passout arg    output file pass phrase source
 -f4             use F4 (0x10001) for the E value
 -3              use 3 for the E value
 -engine e       use engine e, possibly a hardware device.
 -rand file:file:...
                 load the file (or the files in the directory) into
                 the random number generator

私は何を間違っていますか?

編集:最初のコマンドを解決しました:

openssl genrsa -aes128 -out privkey.pem 2048

しかし、今では2番目のエラーが発生しています:

unknown option –x509
4

2 に答える 2

17

「genrsa」は、RSA キーのみを生成します。

「req」はそのキーを使用して x509 スタイルのリクエストを作成します。

rsa キー ペアだけが必要な場合は、genrsa を使用します。

キーペアと署名付き x509 リクエストが必要な場合は、「genrsa」と「req」を使用します。

オプションで、'req' はそのキーを生成することもできます (つまり、'genrsa' コマンド (および gendh) をカプセル化します)。

そう:

 openssl genrsa -aes128 -out privkey.pem 2048
 openssl req -new -x509 -key privkey.pem 

とほぼ同等

 openssl req -new -x509 -keyout privkey.pem  -newkey rsa:2048

ただし、「genrsa」とは異なり、「req」では暗号化として aes128 を指定できません。

したがって、多くの企業設定では、適用されるキー暗号化を十分に制御するために、2 つのステップでそれを行います。

于 2012-09-28T10:37:08.737 に答える
1

出力からわかるように、間違ったアルゴリズムを選択しています。-aes128の代わりに合格すべきではありません-aes-128-cbcか?

-aes-128-cbcマニュアルから、これは の適切なパラメーターであると想定していますがopenssl enc、 で機能するかどうかはわかりませんgenrsa

于 2012-09-28T09:30:25.713 に答える