Sertifikat yang Ditandatangani Sendiri SSL adalah sertifikat yang ditandatangani sendiri yang terutama digunakan dalam pengembangan di mesin lokal atau server jarak jauh kami, saat tidak ada sertifikat yang tersedia dari otoritas sertifikasi eksternal.
Sertifikat yang ditandatangani sendiri ini jarang digunakan untuk produksi khususnya karena tidak menjamin tingkat keandalan yang memadai, karena tidak diverifikasi oleh Otoritas Sertifikasi.
Di sisi lain, jika Anda tertarik untuk mendapatkan sertifikat SSL gratis yang dikeluarkan oleh otoritas sertifikasi eksternal, Anda dapat mengikuti panduan kami tentang Cara mengamankan Apache dengan Let's Encrypt dan Ubuntu 18.04.
Pertama, sambungkan ke server Anda melalui koneksi SSH. Jika Anda belum melakukannya, ikuti panduan kami disarankan untuk terhubung secara aman dengan SSH. Untuk server lokal, lanjutkan ke langkah berikutnya dan buka terminal server Anda.
Membuat kunci pribadi
Pertama-tama, buat kunci pribadi untuk membuat sertifikat publik Anda.
Untuk membuat kunci pribadi, gunakan klien OpenSSL:
$ sudo openssl genrsa -aes128 -out private.key 2048
N.B. Perintah ini digunakan untuk menentukan pembuatan private key dengan panjang 2048 bit yang akan disimpan dalam file private.key.
Generating RSA private key, 2048 bit long modulus
....+++
...................+++
e is 65537 (0x010001)
Enter pass phrase for privata.key:
Verifying - Enter pass phrase for private.key:
Anda akan diminta untuk melindungi kunci dengan kata sandi.
Membuat Permintaan Penandatanganan Sertifikat (CSR)
Setelah membuat kunci pribadi Anda, buat permintaan penandatanganan sertifikat (CSR) yang akan menentukan detail untuk sertifikat.
$ sudo openssl req -new -days 365 -key private.key -out request.csr
OpenSSL akan meminta Anda untuk menentukan informasi sertifikat yang harus dilengkapi dengan cara ini:
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.
-----
Country Name (2 letter code) [AU]: IT
State or Province Name (full name) [Some-State]: Lazio
Locality Name (eg, city) []: Rome
Organization Name (eg, company) [Internet Widgits Pty Ltd]: My Society
Organizational Unit Name (eg, section) []: Security
Common Name (e.g. server FQDN or YOUR name) []: example.it
Email Address []: [email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: An optional company name []:
Anda akan diminta untuk melindungi permintaan sertifikat dengan kata sandi.
File request.csr dengan n semua informasi berguna yang dimasukkan akan dibuat untuk pembuatan sertifikat .
Membuat Sertifikat SSL
Pada titik ini, lanjutkan dengan pembuatan sertifikat:
$ sudo openssl x509 -in request.csr -out certificate.crt -req -signkey private.key -days 365
Di mana :
untuk parameter -in tentukan permintaan penandatanganan sertifikat
untuk parameter -out tentukan nama file yang akan berisi sertifikat
untuk parameter -signkey tentukan kunci pribadi Anda
untuk parameter -days tentukan jumlah hari validitas sertifikat yang akan dibuat
Masukkan password private.key.
Jika prosedur pembuatan dilakukan dengan benar , tulisan ini akan ditampilkan di layar:
Signature ok
diikuti dengan detail sertifikat yang ditentukan di atas.
Akhirnya, file certificate.crt siap digunakan dengan berbagai cara, seperti untuk melindungi koneksi ke server web.