Salah satu tahap dalam pembuatan SSL adalah kita perlu buat/generate file CSR atau Certificate Signing Request dan juga private key. Saat membuat private key, sebenarnya kita bisa memilih algoritma yang digunakan. Pemilihan algoritma ini penting karena akan berhubungan dengan file CA bundle yang nantinya digunakan saat instalasi SSL.
Proses Pembuatan CSR dan KEY
Pembuatan CSR juga sekaligus menghasilkan private key. Proses ini bisa menggunakan OpenSSL untuk generate filenya. Berikut contoh perintah yang digunakan apabila kita ingin generate key menggunakan algoritma RSA:
openssl req -new -newkey rsa:2048 \
-keyout domain.key \
-out domain.csr
Perintah di atas akan menghasilkan dua file, yaitu domain.key dan domain.csr.
Sedangkan, apabila kita ingin key yang dihasilkan menggunkakan algoritma ECDSA, kita dapat menggunakan perintah berikut:
openssl ecparam -genkey -name secp384r1 -out domain.key
openssl req -new \
-key domain.key \
-out domain.csr
Hasil filenya tetap sama, akan menghasilkan dua file, yaitu domain.key dan domain.csr. Namun perbedaannya terletak dalam isi file key tersebut.
Apa Itu RSA

RSA – diambil dari nama belakang penemunya, yaitu Ron Rivest, Adi Shamir, and Leonard Adleman adalah algoritma kriptografi yang cara kerjanya adalah menggunakan dua bilangan prima yang sangat besar untuk menghasilkan key-pair.
Kelebihan dari penggunaan RSA adalah kompatibilitasnya yang luas. Hampir semua browser, server, firewall, dan perangkat lama mendukung RSA.
Namun, RSA membutuhkan ukuran key yang besar untuk menjaga tingkat keamanannya. Contoh:
RSA 2048 bit
RSA 3072 bit
RSA 4096 bit
Makin besar ukuran key-nya, makin besar pula resource yang diperlukan untuk proses enkripsi dan handshake-nya.
Apa Itu ECDSA

ECDSA – (Elliptic Curve Digital Signature Algorithm) merupakan algoritma kriptografi yang lebih modern karena cara kerjanya menggunakan konsep Elliptic Curve Cryptography .
Konsepnya adalah server memilih satu angka dalam rentang kurva tertentu (biasanya jenis kurvanya ada P-256, P-384, dan P-521). Misalnya, yang dipilih adalah P-384. Artinya, server hanya perlu memilih satu angka acak di dalam rentang kurva P-384 untuk dijadikan private key. Lebih lightweight (misalnya saat handshake) bagi server.
Dengan ukuran kunci yang jauh lebih kecil, ECDSA dapat memberikan tingkat keamanan yang setara dengan RSA. Misalnya ECDSA P-384: Hanya membutuhkan ukuran kunci sebesar 384-bit. Walaupun ukurannya sangat kecil, tingkat keamanan ECDSA P-384 setara dengan RSA 7680-bit.
Mengapa CA Bundle Harus Sesuai?
Misalnya, kita membuat CSR menggunakan RSA:
Private Key (RSA)
│
▼
CSR
│
▼
Sectigo
│
▼
RSA Certificate
Maka certificate chain yang digunakan juga harus merupakan RSA Chain.
Apabila kita menggunakan ECDSA (P384):
Private Key (ECDSA)
│
▼
CSR
│
▼
Sectigo
│
▼
ECDSA Certificate
Maka CA Bundle yang dipasang juga harus merupakan ECDSA Chain.
Jika server menggunakan sertifikat ECDSA tetapi administrator memasang Intermediate CA RSA, browser dapat gagal membangun rantai kepercayaan secara benar.
Akibatnya bisa muncul error seperti:
- Incomplete Certificate Chain
- Unable to verify certificate
- SSL handshake failed
- Browser menampilkan warning keamanan.
Bagaimana Cara Mengetahui SSL-nya Menggunakan RSA/ECDSA?
Misalnya yang proses SSL itu Budi, dan saat SSLnya terbit, yang handle adalah Anwar. Bisa saja Anwar tidak mengetahui secara pasti algoritma apa yang digunakan saat submit/request SSL. Untuk mengetahuinya, kita dapat menggunakan perintah berikut:
openssl x509 -in certificate.crt -text -noout
Perhatikan bagian Public Key Algorithm. Kalau RSA akan menampilkan rsaEncryption, sedangkan ECDSA akan menampilkan id-ecPublicKey.
Penutup
RSA dan ECDSA sama-sama algoritma yang dapat digunakan dalam proses pembuatan private key. Perbedaanya terletak dalam mekanisme kriptografinya. RSA unggul dalam kompatibilitas dan masih menjadi pilihan aman untuk berbagai lingkungan. Sementara itu, ECDSA menawarkan performa yang lebih baik dengan ukuran kunci yang lebih kecil, sehingga semakin banyak digunakan pada server modern.
Selain itu, proses pemilihan algoritma ini juga berkaitan dengan CA bundle yang akan dipasang. Oleh karena itu, saat melakukan instalasi SSL, pastikan CA Bundle yang digunakan sesuai dengan algoritma sertifikat tersebut. Kesalahan memilih certificate chain dapat menyebabkan rantai kepercayaan tidak terbentuk dengan benar dan memicu masalah validasi SSL.
Tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.