Pengembangan HTTPS Lokal dengan Sertifikat SSL Self-Signed
Dalam proses pengembangan dan pengujian web secara lokal, mensimulasikan koneksi HTTPS seperti di lingkungan produksi sangatlah penting. Meskipun sertifikat SSL self-signed tidak diakui oleh Otoritas Sertifikat (CA) publik, sertifikat ini tetap menjadi solusi praktis untuk mengaktifkan HTTPS di lingkungan pengembangan lokal. Artikel ini akan memandu Anda secara detail tentang cara membuat sertifikat SSL self-signed berbasis Elliptic Curve Cryptography (ECC) yang efisien dan aman menggunakan alat OpenSSL bawaan ServBay, serta cara mengkonfigurasikannya di situs lokal Anda di ServBay. Contoh berikut akan menggunakan domain servbay.demo
.
Memahami cara mengaktifkan HTTPS secara lokal membantu Anda menguji perilaku situs di bawah koneksi aman, seperti menangani peringatan mixed content, pengujian cookie secure flag, dan lainnya.
Ringkasan
Sertifikat self-signed adalah sertifikat SSL yang Anda buat dan tanda tangani sendiri, bukan dari CA pihak ketiga yang terpercaya. Sertifikat jenis ini cocok untuk skenario berikut:
- Lingkungan pengembangan lokal
- Server pengujian internal
- Aplikasi internal yang tidak menangani data sensitif
ServBay telah mengintegrasikan OpenSSL, memungkinkan Anda untuk membuat file sertifikat langsung melalui terminal.
Prasyarat
- ServBay telah terpasang dan berjalan di sistem Anda.
- Memahami dasar penggunaan command line terminal.
Langkah 1: Membuat Sertifikat SSL ECC Self-Signed
Kami merekomendasikan penggunaan sertifikat ECC karena, dibandingkan sertifikat RSA tradisional, ECC menawarkan kekuatan keamanan setara dengan ukuran kunci lebih kecil, kecepatan tanda tangan dan verifikasi lebih cepat, serta penggunaan sumber daya komputasi lebih rendah.
Berikut adalah langkah-langkah membuat sertifikat SSL ECC self-signed:
Buat Private Key ECC
Buka aplikasi terminal Anda dan jalankan perintah berikut untuk membuat private key ECC dengan kurva
prime256v1
, hasilnya akan disimpan sebagai fileservbay.demo.key
.shopenssl ecparam -genkey -name prime256v1 -out servbay.demo.key
1openssl
: Menjalankan alat OpenSSL.ecparam
: Mengelola parameter ECC.-genkey
: Membuat private key.-name prime256v1
: Menetapkan nama kurva ECC yang digunakan, di siniprime256v1
(NIST P-256) adalah salah satu kurva yang umum dan aman.-out servbay.demo.key
: Nama file output untuk private key.
Buat Certificate Signing Request (CSR)
Gunakan private key yang telah ada (
servbay.demo.key
) untuk membuat CSR (servbay.demo.csr
). CSR berisi informasi yang akan tercantum dalam sertifikat (seperti nama domain, nama organisasi, dsb), dan ditandatangani dengan private key Anda.shopenssl req -new -key servbay.demo.key -out servbay.demo.csr
1Setelah menjalankan perintah, OpenSSL akan meminta Anda mengisi beberapa informasi untuk melengkapi CSR. Isilah sesuai petunjuk. Yang terpenting adalah kolom
Common Name (e.g. server FQDN or YOUR name)
, isikan dengan domain lokal Anda, misalservbay.demo
. Kolom lain dapat diisi sesuai kebutuhan atau mengikuti contoh.Contoh proses input secara interaktif:
Country Name (2 letter code) [AU]:CN # Kode negara, misal CN (China) State or Province Name (full name) [Some-State]:Hong Kong # Provinsi atau negara bagian Locality Name (eg, city) []:Kowloon # Kota Organization Name (eg, company) [Internet Widgits Pty Ltd]:ServBay # Nama organisasi Organizational Unit Name (eg, section) []:Development # Nama unit organisasi Common Name (e.g. server FQDN or YOUR name) []:servbay.demo # **Penting: masukkan domain lokal** Email Address []:admin@servbay.demo # Email kontak Please enter the following 'extra' attributes to be sent on in your certificate request A challenge password []: # Opsional, bisa dikosongkan An optional company name []: # Opsional, bisa dikosongkan
1
2
3
4
5
6
7
8
9
10
11Membuat Sertifikat Self-signed
Selanjutnya, gunakan CSR (
servbay.demo.csr
) dan private key (servbay.demo.key
) untuk membuat sertifikat SSL self-signed (servbay.demo.crt
). Di contoh ini, masa berlaku sertifikat ditetapkan selama 365 hari.shopenssl x509 -req -days 365 -in servbay.demo.csr -signkey servbay.demo.key -out servbay.demo.crt
1openssl x509
: Mengelola sertifikat berformat X.509.-req
: Menunjukkan input berupa file CSR.-days 365
: Menetapkan validitas sertifikat selama 365 hari.-in servbay.demo.csr
: File CSR input.-signkey servbay.demo.key
: Private key yang digunakan untuk menandatangani (karena self-signed, gunakan private key sendiri).-out servbay.demo.crt
: Nama file output sertifikat.
Setelah langkah di atas selesai, Anda akan menemukan tiga file di direktori saat ini:
servbay.demo.key
(private key),servbay.demo.csr
(permintaan penandatanganan sertifikat), danservbay.demo.crt
(sertifikat self-signed).
(Gambar ilustrasi: Proses menjalankan perintah OpenSSL di terminal untuk membuat file sertifikat)
Langkah 2: Konfigurasi Sertifikat SSL Self-Signed di ServBay
Setelah file sertifikat dibuat, Anda perlu menempatkannya di lokasi yang mudah diakses oleh ServBay dan menentukan path file tersebut di konfigurasi situs ServBay. ServBay merekomendasikan untuk menyimpan file sertifikat SSL di direktori /Applications/ServBay/ssl
, serta membuat subdirektori terpisah untuk setiap domain agar pengelolaan sertifikat lebih mudah.
Pindahkan File Sertifikat ke Direktori Yang Dianjurkan
Sesuai struktur yang dianjurkan oleh ServBay, pindahkan file sertifikat yang telah dibuat ke direktori
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/
. Jika direktoriservbay.demo
belum ada, buat terlebih dahulu.sh# Membuat direktori jika belum ada mkdir -p /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ # Memindahkan file mv servbay.demo.key /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ mv servbay.demo.crt /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ # File CSR biasanya tidak wajib digunakan lagi, namun dapat disimpan untuk backup atau dokumentasi mv servbay.demo.csr /Applications/ServBay/ssl/private/tls-certs/servbay.demo/
1
2
3
4
5
6
7
8/Applications/ServBay/ssl/
: Root direktori default ServBay untuk file SSL.private/tls-certs/
: Struktur subdirektori yang disarankan untuk menyimpan file sertifikat TLS/SSL private.servbay.demo/
: Subdirektori untuk setiap domain, memudahkan pengelolaan sertifikat berbagai situs.
Buka Antarmuka Administrasi ServBay
Jalankan aplikasi ServBay dan akses antarmuka administrasinya.
Tambah atau Edit Konfigurasi Situs
Navigasi ke tab Websites di antarmuka ServBay. Jika konfigurasi untuk
servbay.demo
belum dibuat, klik Add Website. Jika sudah ada, pilih konfigurasi situs tersebut dan klik edit.Konfigurasi SSL/HTTPS
Cari tab atau bagian pengaturan SSL/HTTPS pada pengaturan detail website.
Pilih Custom sebagai Sumber Sertifikat
Pada opsi tipe sertifikat atau metode penandatanganan, pilih Custom (sertifikat custom/self-signed).
Isi Path File Sertifikat
Masukkan path file sertifikat yang telah Anda tempatkan sebelumnya pada direktori SSL ServBay:
- Certificate Key File (file private key sertifikat): masukkan atau telusuri ke
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/servbay.demo.key
- Certificate File (file sertifikat): masukkan atau telusuri ke
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/servbay.demo.crt
- Certificate Key File (file private key sertifikat): masukkan atau telusuri ke
Atur Domain
Pastikan kolom Domain pada konfigurasi website diisi dengan
servbay.demo
.Simpan dan Terapkan Konfigurasi
Simpan perubahan konfigurasi website. ServBay akan meminta Anda untuk menerapkan perubahan yang biasanya memerlukan restart Web server terkait (misalnya Caddy atau Nginx). Konfirmasikan dan lanjutkan.
(Gambar ilustrasi: Konfigurasi path sertifikat SSL custom di antarmuka manajemen ServBay)
Verifikasi Konfigurasi HTTPS
Setelah konfigurasi di ServBay selesai, Anda bisa mengeceknya dengan mengakses https://servbay.demo/
di browser Anda.
Karena sertifikat yang digunakan adalah self-signed, bukan diterbitkan oleh CA publik yang dipercaya sistem atau browser Anda, browser akan menampilkan peringatan keamanan bahwa sertifikat tidak dipercaya atau terdapat potensi risiko privasi. Ini adalah hal yang wajar pada sertifikat self-signed.
(Gambar ilustrasi: Peringatan browser saat mengakses situs dengan sertifikat self-signed)
Anda dapat memilih untuk mengabaikan peringatan dan tetap melanjutkan akses (biasanya ada pilihan "Advanced" atau "Lanjutkan ke situs"), atau untuk menghindari peringatan ini di masa mendatang, Anda bisa menambahkan sertifikat self-signed ke trusted store (penyimpanan kepercayaan) sistem operasi Anda.
(Gambar ilustrasi: Melihat detail sertifikat self-signed di browser)
Dengan memeriksa detail sertifikat, Anda dapat memastikan bahwa browser benar-benar menggunakan sertifikat servbay.demo
yang telah Anda konfigurasi.
Hal Penting yang Perlu Diperhatikan
- Keamanan Private Key: File private key (
.key
) bersifat sangat sensitif, simpanlah dengan baik dan jangan dibagikan. Di lingkungan pengembangan lokal, pastikan hak akses file hanya untuk user ServBay. - Path File: Pastikan path file sertifikat yang diatur pada konfigurasi ServBay sudah lengkap dan benar.
- Pencocokan Domain: Isian domain pada kolom Common Name (CN) saat membuat sertifikat harus 100% sama dengan nama domain yang dikonfigurasi di situs ServBay, jika berbeda browser akan menampilkan error “domain sertifikat tidak cocok”.
- Masa Berlaku Sertifikat: Masa berlaku sertifikat self-signed mengacu pada parameter
-days
saat pembuatan. Setelah expired, sertifikat harus dibuat ulang dan dikonfigurasi lagi.
Alternatif & Topik Terkait
Meskipun sertifikat self-signed cocok untuk pengujian HTTPS lokal dasar, jika Anda ingin pengalaman yang lebih mirip CA publik di lingkungan pengembangan, ServBay menyediakan beberapa opsi lain:
- ServBay User CA: ServBay membekali tools CA tingkat user. Anda dapat menambahkan ServBay User CA ke trusted store sistem operasi, lalu menggunakan User CA ini untuk menerbitkan sertifikat bagi situs lokal Anda. Sertifikat tersebut akan langsung dipercaya oleh sistem dan browser, sehingga tidak ada peringatan. Ini berguna untuk pengujian OAuth, Webhook, atau skenario lain yang wajib mengakui sertifikat.
- ServBay Public CA: ServBay juga memiliki fitur Public CA untuk menerbitkan sertifikat bagi domain lokal, sekaligus mengatur trust pada sistem secara otomatis.
Alternatif ini lebih mudah dikelola dibandingkan self-signed manual, terutama jika mengatur banyak situs web lokal sekaligus. Silakan cek dokumentasi ServBay untuk detail penggunaan fitur-fitur ini.
FAQ (Pertanyaan Umum)
- T: Kenapa browser tetap menampilkan tidak aman setelah sertifikat dibuat?
- J: Sertifikat self-signed tidak diakui oleh CA publik, sehingga browser akan tetap menampilkan peringatan. Untuk menghilangkan peringatan, tambahkan sertifikat atau CA yang digunakan (misalnya ServBay User CA) ke trusted store di sistem operasi Anda.
- T: Apakah saya bisa menggunakan sertifikat RSA?
- J: Bisa. OpenSSL juga mendukung pembuatan sertifikat RSA. Anda bisa menggunakan
openssl genrsa -out servbay.demo.key 2048
untuk membuat private key RSA, lalu lanjutkan dengan membuat CSR dan sertifikat seperti langkah di atas. Namun kami merekomendasikan ECC agar performa lebih optimal.
- J: Bisa. OpenSSL juga mendukung pembuatan sertifikat RSA. Anda bisa menggunakan
- T: Bagaimana cara menambahkan sertifikat self-signed ke trusted store macOS?
- J: Buka aplikasi “Keychain Access”, pilih keychain “System” atau “Login”. Drag & drop file
.crt
ke keychain tersebut. Klik dua kali pada sertifikat yang diimpor, buka bagian “Trust” dan atur “Secure Socket Layer (SSL)” ke “Always Trust”. Tutup jendela, jika diminta masukkan password. Kemudian restart browser Anda.
- J: Buka aplikasi “Keychain Access”, pilih keychain “System” atau “Login”. Drag & drop file
Kesimpulan
Melalui panduan ini, Anda telah mempelajari cara membuat sertifikat SSL ECC self-signed menggunakan OpenSSL yang terintegrasi pada ServBay, serta langkah mengkonfigurasikannya pada situs web lokal di ServBay. Meskipun sertifikat self-signed terutama digunakan untuk kebutuhan pengujian dan pengembangan lokal, sertifikat ini adalah langkah awal penting untuk memahami mekanisme kerja HTTPS dan mengaktifkan koneksi aman secara lokal. Untuk pengelolaan trusted store yang lebih efisien, pertimbangkan menggunakan fitur User CA dan Public CA yang disediakan ServBay. Semoga panduan ini membantu pengembangan web lokal Anda menjadi lebih aman dan produktif!