Artikel ini menjelaskan cara membuat Sertifikat SSL yang ditandatangani sendiri menggunakan openssl
alat.
Apa itu Sertifikat SSL yang Ditandatangani Sendiri? #
Sertifikat SSL yang ditandatangani sendiri adalah sertifikat yang ditandatangani oleh orang yang membuatnya, bukan oleh otoritas sertifikat tepercaya. Sertifikat yang ditandatangani sendiri dapat memiliki tingkat enkripsi yang sama dengan sertifikat SSL bertanda tangan CA yang tepercaya.
Browser web tidak mengenali sertifikat yang ditandatangani sendiri sebagai valid. Saat menggunakan sertifikat yang ditandatangani sendiri, browser web menampilkan peringatan kepada pengunjung bahwa sertifikat situs web tidak dapat diverifikasi.
Biasanya, sertifikat yang ditandatangani sendiri digunakan untuk tujuan pengujian atau penggunaan internal. Anda tidak boleh menggunakan sertifikat yang ditandatangani sendiri dalam sistem produksi yang terbuka ke Internet.
Prasyarat #
Toolkit OpenSSL diperlukan untuk membuat sertifikat yang ditandatangani sendiri.
Untuk memeriksa apakah openssl
paket diinstal pada sistem Linux Anda, buka terminal Anda, ketik openssl version
, dan tekan Enter. Jika paket diinstal, sistem akan mencetak versi OpenSSL, jika tidak, Anda akan melihat sesuatu seperti openssl command not found
.
Jika paket openssl tidak diinstal pada sistem Anda, Anda dapat menginstalnya dengan manajer paket distribusi Anda:
-
Ubuntu dan Debian
sudo apt install openssl
-
Centos dan Fedora
sudo yum install openssl
Membuat Sertifikat SSL yang Ditandatangani Sendiri #
Untuk membuat Sertifikat SSL yang Ditandatangani Sendiri baru, gunakan openssl req
perintah:
openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 3650 \
-nodes \
-out example.crt \
-keyout example.key
Mari kita uraikan perintah dan pahami arti setiap opsi:
-newkey rsa:4096
- Membuat permintaan sertifikat baru dan kunci RSA 4096 bit. Standarnya adalah 2048 bit.-x509
- Membuat Sertifikat X.509.-sha256
- Gunakan 265-bit SHA (Algoritma Aman Hash).-days 3650
- Jumlah hari untuk mengesahkan sertifikat. 3650 adalah sepuluh tahun. Anda dapat menggunakan bilangan bulat positif apa saja.-nodes
- Membuat kunci tanpa frasa sandi.-out example.crt
- Menentukan nama file untuk menulis sertifikat yang baru dibuat. Anda dapat menentukan nama file apa saja.-keyout example.key
- Menentukan nama file untuk menulis kunci pribadi yang baru dibuat. Anda dapat menentukan nama file apa saja.
Untuk informasi lebih lanjut tentang openssl req
opsi perintah, kunjungi halaman dokumentasi permintaan OpenSSL.
Setelah Anda menekan Enter, perintah akan menghasilkan kunci pribadi dan menanyakan serangkaian pertanyaan kepada Anda. Informasi yang Anda berikan digunakan untuk membuat sertifikat.
Generating a RSA private key
......................................................................++++
........++++
writing new private key to 'example.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Masukkan informasi yang diminta dan tekan Enter
.
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Alabama
Locality Name (eg, city) []:Montgomery
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Linuxize
Organizational Unit Name (eg, section) []:Marketing
Common Name (e.g. server FQDN or YOUR name) []:linuxize.com
Email Address []:[email protected]
Sertifikat dan kunci pribadi akan dibuat di lokasi yang ditentukan. Gunakan perintah ls untuk memverifikasi bahwa file telah dibuat:
ls
example.crt example.key
Itu dia! Anda telah membuat sertifikat SSL baru yang ditandatangani sendiri.
Sebaiknya Anda selalu mencadangkan sertifikat dan kunci baru Anda ke penyimpanan eksternal.
Membuat Sertifikat SSL yang Ditandatangani Sendiri tanpa Prompt #
Jika Anda ingin membuat sertifikat SSL yang ditandatangani sendiri tanpa dimintai pertanyaan apa pun, gunakan -subj
pilihan dan tentukan semua informasi subjek:
openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 3650 \
-nodes \
-out example.crt \
-keyout example.key \
-subj "/C=SI/ST=Ljubljana/L=Ljubljana/O=Security/OU=IT Department/CN=www.example.com"
Generating a RSA private key
......................................................................++++
........++++
writing new private key to 'example.key'
-----
Bidang, ditentukan dalam -subj
baris tercantum di bawah ini:
C=
- Nama negara. Singkatan ISO dua huruf.ST=
- Nama Negara Bagian atau Provinsi.L=
- Nama Lokalitas. Nama kota tempat Anda berada.O=
- Nama lengkap organisasi Anda.OU=
- Unit Organisasi.CN=
- Nama domain yang sepenuhnya memenuhi syarat.
Kesimpulan #
Dalam panduan ini, kami telah menunjukkan kepada Anda cara membuat sertifikat SSL yang ditandatangani sendiri menggunakan alat openssl. Sekarang setelah Anda memiliki sertifikat, Anda dapat mengonfigurasi aplikasi Anda untuk menggunakannya.
Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan.