Apa tujuan dari -nodes
argumen di openssl?
Apa tujuan dari -nodes
argumen di openssl?
Jawaban:
Opsinya -nodes
bukanlah kata dalam bahasa Inggris "node", melainkan "no DES". Ketika diberikan sebagai argumen, itu berarti OpenSSL tidak akan mengenkripsi kunci privat dalam file PKCS # 12 .
Untuk mengenkripsi kunci privat, Anda dapat menghilangkan -nodes
dan kunci Anda akan dienkripsi dengan 3DES-CBC. Untuk mengenkripsi kunci, OpenSSL meminta Anda untuk memasukkan kata sandi dan menggunakan kata sandi tersebut untuk menghasilkan kunci enkripsi menggunakan fungsi turunan kunci EVP_BytesToKey .
Bergantung pada versi OpenSSL Anda dan opsi yang dikompilasi, Anda mungkin dapat memberikan opsi ini sebagai pengganti -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
Pada akhirnya di tingkat perpustakaan OpenSSL memanggil fungsi PEM_write_bio_PrivateKey dengan algoritma enkripsi (atau ketiadaan) yang Anda pilih.
edit: nginx v1.7.3 telah menambahkan direktif ssl_password_file yang membaca frasa sandi dari file tertentu mencoba setiap frasa sandi pada encrypted-private.key konteks
indiv benar bahwa -nodes
argumen tersebut berarti OpenSSL akan membuat private.key yang tidak terenkripsi ; jika tidak, akan ada prompt frasa sandi untuk membuat encrypted-private.key . lihat req , pkcs12 , CA.pl
Namun, saya merasa tujuan (untuk programmer) adalah karena:
ssl_password_file file.keys;
dalam http { }
atau server { }
konteks. [ ref ]-nodes
untuk membuat private.key tanpa enkripsiberguna: kunci private.key
sudo chown root:ssl-cert private.key
- ch ange sendiri er dari private.key ke akar pengguna, ssl-cert kelompoksudo chmod 640 private.key
- ubah izin akses private.key menjadi pemilik R / W, grup R.Opsi A
keamanan yang lebih kuat, namun saat server dimulai ulang, harus mengetikkan frasa sandi secara manual untuk encrypted-private.key
Opsi B
keamanan sedang, dan mungkin keseimbangan yang baik antara A / C
Opsi C
keamanan yang lebih lemah, namun TIDAK diminta untuk frasa sandi private.key yang tidak terenkripsi