-nodes
openssl の引数の目的は何ですか?
-nodes
openssl の引数の目的は何ですか?
回答:
オプション-nodes
は英語の「nodes」ではなく、「no DES」です。引数として指定すると、OpenSSLはPKCS#12ファイルの秘密鍵を暗号化しません。
秘密鍵を暗号化するには、省略でき-nodes
、鍵は3DES-CBCで暗号化されます。鍵を暗号化するために、OpenSSLはパスワードを要求し、そのパスワードを使用して、鍵導出関数EVP_BytesToKeyを使用して暗号化鍵を生成します。
OpenSSLのコンパイルオプションのバージョンによっては、ありの代わりにこれらのオプションを提供することができます-nodes
。
-des encrypt private keys with DES
-des3 encrypt private keys with triple DES (default)
-idea encrypt private keys with idea
-seed encrypt private keys with seed
-aes128, -aes192, -aes256
encrypt PEM output with cbc aes
-camellia128, -camellia192, -camellia256
encrypt PEM output with cbc camellia
最終的に、OpenSSLはライブラリレベルで、選択した暗号化アルゴリズム(またはその欠如)を使用して関数PEM_write_bio_PrivateKeyを呼び出します。
編集: nginx v1.7.3は、コンテキストのencrypted-private.keyで各パスフレーズを試行する指定されたファイルからパスフレーズを読み取るssl_password_fileディレクティブを追加しました
indivは正解です。-nodes
引数は、OpenSSLが暗号化されていないprivate.keyを作成することを意味します。それ以外の場合は、encrypted-private.keyを作成するためのパスフレーズプロンプトが表示されます。req、pkcs12、CA.plを参照してください
ただし、(プログラマーにとって)の目的は次の理由からだと思います。
ssl_password_file file.keys;
します。[ 参照 ]http { }
server { }
-nodes
を作成するために使用便利:private.keyをロックダウンする
sudo chown root:ssl-cert private.key
- をch ANGE 自身のER private.keyをするルートユーザー、SSL-CERTのグループsudo chmod 640 private.key
-private.keyのアクセス許可を所有者R / W、グループRに変更オプションA
より強力なセキュリティでありながら、サーバーの再起動時に、encrypted-private.keyのパスフレーズを手動で入力する必要があります
オプションB
中程度のセキュリティ、おそらくA / Cのバランスが良い
オプションC
セキュリティは弱いが、暗号化されていないprivate.keyパスフレーズの入力は求められない