Mendapatkan sertifikat SSL dari salah satu Otoritas Sertifikat (CA) utama dapat menghasilkan $100 dan lebih tinggi. Tambahkan ke campuran, berita yang tampaknya menunjukkan bahwa tidak semua CA mapan dapat dipercaya 100% setiap saat dan Anda mungkin memutuskan untuk menghindari ketidakpastian dan menghapus biaya dengan menjadi Otoritas Sertifikat Anda sendiri.
Langkah
Bagian 1 dari 4: Membuat Sertifikat CA Anda
Langkah 1. Buat kunci pribadi CA Anda dengan mengeluarkan perintah berikut
-
openssl genrsa -des3 -out server. CA.key 2048
-
Opsi dijelaskan
- openssl - nama perangkat lunak
- genrsa - membuat kunci pribadi baru
- -des3 - mengenkripsi kunci menggunakan cipher DES
- -out server. CA.key - nama kunci baru Anda
- 2048 - panjang, dalam bit, dari kunci pribadi (Silakan lihat peringatan)
- Simpan sertifikat ini dan kata sandinya di tempat yang aman.
Langkah 2. Buat permintaan penandatanganan sertifikat
-
openssl req -verbose -new -key server. CA.key -out server. CA.csr -sha256
-
Opsi menjelaskan:
- req - Membuat Permintaan Penandatanganan
- -verbose - menunjukkan detail tentang permintaan saat dibuat (opsional)
- -baru - membuat permintaan baru
- -key server. CA.key - Kunci pribadi yang baru saja Anda buat di atas.
- -out server. CA.csr - Nama file dari permintaan penandatanganan yang Anda buat
- sha256 - Algoritme enkripsi yang digunakan untuk permintaan penandatanganan (Jika Anda tidak tahu apa ini, jangan ubah ini. Anda hanya boleh mengubah ini jika Anda tahu apa yang Anda lakukan)
Langkah 3. Isi informasi sebanyak mungkin
-
Nama Negara (kode 2 huruf) [AU]:
kita
-
Nama Negara Bagian atau Provinsi (nama lengkap) [Beberapa Negara Bagian]:
CA
-
Nama Lokalitas (misalnya, kota) :
Bukit silikon
-
Nama Organisasi (misalnya, perusahaan) [Internet Widgits Pty Ltd]:
wikiHow, Inc.
- Nama Unit Organisasi (misalnya, bagian) :
-
Nama Umum (misalnya, server FQDN atau nama ANDA) :
-
Alamat email :
Langkah 4. Menandatangani sendiri sertifikat Anda:
-
openssl ca -extensions v3_ca -out server. CA-signed.crt -keyfile server. CA.key -verbose -selfsign -md sha256 -enddate 330630235959Z -infiles server. CA.csr
-
Opsi menjelaskan:
- ca - Memuat modul Otoritas Sertifikat
- -extension v3_ca - Memuat ekstensi v3_ca, yang harus dimiliki untuk digunakan pada browser modern
- -out server. CA-signed.crt - Nama kunci baru Anda yang ditandatangani
- -keyfile server. CA.key - Kunci pribadi yang Anda buat di langkah 1
- -verbose - menunjukkan detail tentang permintaan saat dibuat (opsional)
- -selfsign - Memberi tahu openssl bahwa Anda menggunakan kunci yang sama untuk menandatangani permintaan
- -md sha256 - Algoritma enkripsi yang digunakan untuk pesan. (Jika Anda tidak tahu apa ini, jangan ubah ini. Anda hanya boleh mengubah ini jika Anda tahu apa yang Anda lakukan)
- -enddate 330630235959Z - Tanggal akhir sertifikat. Notasinya adalah YYMMDDHHMMSSZ di mana Z dalam GMT, kadang-kadang dikenal sebagai waktu "Zulu".
- -infiles server. CA.csr - file permintaan penandatanganan yang Anda buat pada langkah di atas.
Langkah 5. Periksa sertifikat CA Anda
- openssl x509 -noout -teks -di server. CA.crt
-
Opsi dijelaskan:
- x509 - Memuat modul x509 untuk memeriksa sertifikat yang ditandatangani.
- -noout - Jangan menampilkan teks yang disandikan
- -teks - menampilkan informasi di layar
- -di server. CA.crt - Muat sertifikat yang ditandatangani
- File server. CA.crt dapat didistribusikan kepada siapa saja yang akan menggunakan situs web Anda atau menggunakan sertifikat yang Anda rencanakan untuk ditandatangani.
Bagian 2 dari 4: Membuat Sertifikat SSL untuk Layanan, seperti Apache
Langkah 1. Buat kunci pribadi
-
openssl genrsa -des3 -out server.apache.key 2048
-
Opsi dijelaskan:
- openssl - nama perangkat lunak
- genrsa - membuat kunci pribadi baru
- -des3 - mengenkripsi kunci menggunakan cipher DES
- -out server.apache.key - nama kunci baru Anda
- 2048 - panjang, dalam bit, dari kunci pribadi (Silakan lihat peringatan)
- Simpan sertifikat ini dan kata sandinya di tempat yang aman.
Langkah 2. Buat permintaan penandatanganan sertifikat
-
openssl req -verbose -new -key server.apache.key -out server.apache.csr -sha256
-
Opsi menjelaskan:
- req - Membuat Permintaan Penandatanganan
- -verbose - menunjukkan detail tentang permintaan saat dibuat (opsional)
- -baru - membuat permintaan baru
- -key server.apache.key - Kunci pribadi yang baru saja Anda buat di atas.
- -out server.apache.csr - Nama file dari permintaan penandatanganan yang Anda buat
- sha256 - Algoritme enkripsi yang digunakan untuk permintaan penandatanganan (Jika Anda tidak tahu apa ini, jangan ubah ini. Anda hanya boleh mengubah ini jika Anda tahu apa yang Anda lakukan)
Langkah 3. Gunakan sertifikat CA Anda untuk menandatangani kunci baru
-
openssl ca -out server.apache.pem -keyfile server. CA.key -infiles server.apache.csr
-
Opsi dijelaskan:
- ca - Memuat modul Otoritas Sertifikat
- -out server.apache.pem - Nama file sertifikat yang ditandatangani
- -keyfile server. CA.key - Nama file sertifikat CA yang akan menandatangani permintaan
- -infiles server.apache.csr - Nama file dari Permintaan Penandatanganan Sertifikat
Langkah 4. Isi informasi sebanyak mungkin:
-
Nama Negara (kode 2 huruf) [AU]:
kita
-
Nama Negara Bagian atau Provinsi (nama lengkap) [Beberapa Negara Bagian]:
CA
-
Nama Lokalitas (misalnya, kota) :
Bukit silikon
-
Nama Organisasi (mis., Perusahaan) [Internet Widgits Pty Ltd]:
wikiHow, Inc.
- Nama Unit Organisasi (misalnya, bagian) :
-
Nama Umum (mis., Server FQDN atau nama ANDA) :
-
Alamat email :
Langkah 5. Simpan salinan kunci pribadi Anda di lokasi lain
Buat kunci pribadi tanpa kata sandi untuk mencegah Apache meminta kata sandi Anda:
-
openssl rsa -masuk server.apache.key -keluar server.apache.unsecured.key
-
Opsi menjelaskan:
- rsa - Menjalankan program enkripsi RSA
- -in server.apache.key - Nama kunci yang ingin Anda konversi.
- -out server.apache.unsecured.key - Nama file dari kunci tidak aman yang baru
Langkah 6. Gunakan file server.apache.pem yang dihasilkan bersama dengan kunci pribadi yang Anda buat pada langkah 1 untuk mengonfigurasi file apache2.conf Anda
Bagian 3 dari 4: Membuat Sertifikat Pengguna untuk Otentikasi
Langkah 1. Ikuti semua langkah di _Membuat Sertifikat SSL untuk Apache_
Langkah 2. Ubah sertifikat yang Anda tanda tangani menjadi PKCS12
openssl pkcs12 -ekspor -in user_cert.pem -inkey user_private_key.pem -keluar user_cert.p12
Bagian 4 dari 4: Membuat Sertifikat Email S/MIME
Langkah 1. Buat kunci pribadi
openssl genrsa -des3 -keluar private_email.key 2048
Langkah 2. Buat Permintaan Penandatanganan Sertifikat
openssl req -new -key private_email.key -out private_email.csr
Langkah 3. Gunakan sertifikat CA Anda untuk menandatangani kunci baru
openssl ca -keluar private_email.pem -keyfile server. CA.key -infiles private_email.csr
Langkah 4. Ubah sertifikat menjadi PKCS12
openssl pkcs12 -ekspor -in private_email.crt -inkey private_email.key -keluar private_email.p12
Langkah 5. Buat sertifikat Kunci Publik untuk didistribusikan
openssl pkcs12 -export -out public_cert.p12 -in private_email.pem -clcerts -nokeys -name "Kunci Publik WikiHow"
Tips
Anda dapat memvariasikan isi kunci PEM dengan mengeluarkan perintah berikut: openssl x509 -noout -text -in certificate.pem
Peringatan
- Kunci 1024-bit dianggap usang. Kunci 2048-bit dianggap aman untuk sertifikat pengguna hingga tahun 2030, tetapi dianggap tidak cukup untuk sertifikat root. Pertimbangkan kerentanan ini saat Anda membuat sertifikat.
- Secara default, sebagian besar browser modern akan menampilkan peringatan "Sertifikat tidak tepercaya" saat seseorang mengunjungi situs Anda. Ada banyak perdebatan tentang kata-kata dari peringatan ini, karena pengguna non-teknis dapat lengah. Seringkali yang terbaik adalah menggunakan otoritas utama sehingga pengguna tidak mendapatkan peringatan.