Generate SSL dari Let’s Encrypt menggunakan CSR ternyata cukup mudah. Jadi dengan menggunakan CSR (Certificate Signing Request) ini, kita bisa generate SSL untuk satu mesin tanpa harus buka port 80 atau 443 ke arah publik. Tapi untuk nama domainnya sendiri wajib FQDN (Full Qualified Domain Name) dan dapat diresolve TXT recordnya.
Dengan demikian, pra-syarat untuk generate SSL menggunakan CSR adalah sebagai berikut:
- File CSR yang valid tentunya
- Domain / Sub Domain yang dapat diresolve dari internet, nama Domain / Sub Domain harus sama dengan yang telah diisikan ketika generate CSR
- Akses ke domain panel untuk menambah TXT Record
- Let’s Encrypt certbot
Berikut langkah-langkahnya, sesuaikan dengan kondisi server anda sendiri. Dalam contoh ini, saya menggunakan server Debian yang telah terinstall Let’s Encrypt certbot.
- Upload file atau copy isi CSR ke file yang dapat diakses oleh certbot
- Generate Certificate dengan perintah:
certbot certonly --manual --csr /lokasi/path/ke/file/csr --preferred-challenges=dns
- Validasi nama domain dengan menambahkan TXT Record yang akan diberikan oleh certbot
- Apabila proses validasi berhasil, maka certbot akan menampilkan nama file certificate yang berhasil di generate
- Copy / Upload isi file certificate tersebut ke server tujuan.