Saya telah menyiapkan SSL di server web saya, sekarang saya perlu dua file:
- sebuah sertifikat
- Kunci sertifikat
Bagaimana cara membuat sertifikat yang ditandatangani sendiri untuk tujuan pengujian?
Saya telah menyiapkan SSL di server web saya, sekarang saya perlu dua file:
Bagaimana cara membuat sertifikat yang ditandatangani sendiri untuk tujuan pengujian?
Jawaban:
Ubuntu, bahkan rasa 'minimal', hadir dengan ssl-cert
paket yang sudah diinstal sebelumnya, yang berarti Anda tidak perlu melakukan apa pun.
File yang Anda cari sudah ada di sistem Anda:
/etc/ssl/certs/ssl-cert-snakeoil.pem
/etc/ssl/private/ssl-cert-snakeoil.key
Maju:
Jika karena alasan tertentu Anda perlu membuat sertifikat baru, Anda dapat menjalankannya
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
Jika Anda ingin mengubah tanggal kedaluwarsa sertifikat Anda, Anda dapat memanipulasi skrip make-ssl-cert di /usr/sbin/make-ssl-cert
. Sekitar seperti 124 ada garis yang mirip dengan ini:
openssl req -config $TMPFILE -new -x509 -nodes \
Di mana Anda dapat mengubah tanggal kedaluwarsa dengan menambahkan -days
argumen:
openssl req -config $TMPFILE -new -days 365 -x509 -nodes \
Opsi lainnya dapat ditemukan di halaman manualreq
.
/usr/share/ssl-cert/ssleay.cnf
.
www.test.mydomain.com
) Menggunakan hostname
perintah di VM CLI. Kemudian membuat ulang kunci seperti yang Anda sarankan, dengan --force-overwrite
, Nama Umum (CN) kunci kemudian cocok dengan url pengujian. Akhirnya, pada mesin host, memasang kunci sebagai Otoritas Sertifikat Akar Tepercaya (di Pengaturan / Tingkat Lanjut Chrome) memberi saya bilah alamat hijau yang didambakan.
make-ssl-cert
perintah itu menyelamatkan saya!
Seperti yang telah disebutkan, Ubuntu Server dilengkapi dengan alat yang diperlukan. Tergantung pada versi server Anda, Anda harus mencari dokumentasi khusus . Saya akan mencoba merangkum proses pembuatan sertifikat yang ditandatangani sendiri oleh LTS saat ini (12.04) .
Pertama, Anda menghasilkan kunci untuk Permintaan Penandatanganan Sertifikat (CSR):
openssl genrsa -des3 -out server.key 2048
Terserah Anda untuk memasukkan kata sandi atau tidak. Jika ya, setiap kali Anda memulai layanan menggunakan sertifikat itu, Anda harus memberikan frasa sandi. Otoh Anda dapat membuat kunci "tidak aman" tanpa frasa sandi dari yang aman:
openssl rsa -in server.key -out server.key.insecure
# shuffle the key names to continue without passphrases
mv server.key server.key.secure
mv server.key.insecure server.key
Dan sekarang Anda akan membuat CSR dari kuncinya. Dengan CSR dan kunci, sertifikat yang ditandatangani sendiri dapat dihasilkan:
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Langkah terakhir terdiri dari menginstal sertifikat dan kunci, di Debian / Ubuntu biasanya di /etc/ssl
:
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
Dan akhirnya aplikasi yang menggunakan sertifikat / kunci harus dikonfigurasi sesuai.