Cara Mengajukan dan Menggunakan Sertifikat Penandatanganan Kode ServBay
Ringkasan
Dalam proses pengembangan dan distribusi perangkat lunak, penandatanganan kode adalah langkah penting untuk memastikan kepercayaan pengguna dan integritas perangkat lunak. Dengan melakukan tanda tangan digital pada kode, pengembang dapat membuktikan asal usul perangkat lunak dan memastikan kode tidak diubah sejak ditandatangani.
ServBay memiliki fitur yang memudahkan pengembang untuk mengajukan dan menggunakan sertifikat penandatanganan kode yang diterbitkan oleh CA internal ServBay di lingkungan lokal mereka. Sertifikat ini ideal untuk:
- Menandatangani perangkat lunak selama tahap pengembangan atau pengujian lokal, mensimulasikan proses penandatanganan nyata.
- Menandatangani skrip, alat, atau aplikasi untuk penggunaan internal, sehingga memudahkan verifikasi asal dan integritasnya di lingkungan tim atau tepercaya.
- Belajar dan mempraktikkan seluruh proses penandatanganan kode tanpa harus membeli sertifikat penandatanganan kode komersial yang mahal.
Catatan Penting: Sertifikat penandatanganan kode dari CA internal ServBay bukan diterbitkan oleh otoritas sertifikat publik yang diakui (seperti Let's Encrypt, Comodo, dll.) dan tidak dipercaya secara default oleh sistem operasi atau browser publik. Dengan demikian, sertifikat ini tidak cocok untuk skenario yang memerlukan kepercayaan publik seperti distribusi perangkat lunak komersial ke pengguna akhir, pengiriman ke toko aplikasi, atau aplikasi yang harus lolos pemeriksaan keamanan sistem operasi (misal: macOS Gatekeeper akan memberi peringatan pada developer tidak dikenal). Sertifikat ini ideal untuk pengembangan lokal, pengujian, atau penggunaan di lingkungan yang dikendalikan.
Pengantar Sertifikat Penandatanganan Kode
Sertifikat penandatanganan kode adalah sertifikat digital yang digunakan untuk menandatangani kode perangkat lunak seperti file eksekusi, skrip, atau library. Fungsinya meliputi pembangunan kepercayaan dan keamanan:
- Verifikasi Identitas Publisher/Developer: Sertifikat memuat informasi publisher. Tanda tangan digital menegaskan perangkat lunak benar berasal dari pengembang atau organisasi yang tercantum.
- Menjamin Integritas Kode: Proses penandatanganan menghasilkan nilai hash dari isi kode, lalu dienkripsi dengan private key. Saat verifikasi, sistem menghitung kembali hash dan membandingkannya dengan hash hasil dekripsi tanda tangan menggunakan public key. Perubahan apa pun pada kode akan menyebabkan hash berbeda sehingga verifikasi tanda tangan gagal—menandakan kode telah diubah.
- Meningkatkan Kepercayaan Pengguna: Sistem operasi atau perangkat lunak keamanan biasanya akan mengeluarkan peringatan pada perangkat lunak tak bertanda tangan atau dari publisher tak dikenal. Menggunakan sertifikat penandatanganan kode dapat menghilangkan peringatan ini (di lingkungan yang dipercaya, atau jika CA ServBay ditambahkan secara manual ke chain of trust), sehingga meningkatkan keyakinan pengguna untuk menginstal dan menjalankan perangkat lunak.
- Membantu Mencegah Penyebaran Malware: Penandatanganan kode memungkinkan pengguna membedakan perangkat lunak sah dari malware yang menyamar, sehingga membantu pencegahan penyebaran perangkat lunak berbahaya.
Mengajukan Sertifikat Penandatanganan Kode Melalui ServBay
ServBay menyederhanakan proses pengajuan sertifikat penandatanganan kode di lingkungan lokal.
Buka Panel Manajemen Sertifikat SSL: Pada sidebar aplikasi ServBay, klik menu "SSL Certificates".
Ajukan Permintaan Sertifikat Baru: Pada halaman manajemen sertifikat SSL, klik tombol "+" (Tambah) di pojok kanan atas.
Isi Informasi Sertifikat: Pada halaman "Request Certificate", isi informasi kunci berikut:
- Common Name (Nama Umum): Isi nama organisasi anda atau nama pribadi. Contoh:
ServBay, LLC
atauServBay Demo Developer
. - Usage Purpose (Tujuan Penggunaan): Pilih tujuan sertifikat. Pilih
Code Signing
. - Request Method (Metode Permintaan): Pilih metode penerbitan sertifikat. Pilih
ServBay CA
untuk menggunakan CA internal ServBay. - Issuer (Penerbit): Pilih CA internal ServBay yang akan menerbitkan sertifikat. Biasanya pilih
ServBay User CA
. - Algorithm (Algoritma): Pilih algoritma kriptografi untuk pembuatan key pair. Opsi umum yaitu
ECC
(Elliptic Curve Cryptography) atauRSA
(Rivest-Shamir-Adleman). ECC menawarkan keamanan lebih tinggi dengan panjang kunci lebih pendek untuk tingkat keamanan yang sama. - Key Length (Panjang Kunci): Pilih panjang kunci sesuai algoritma. Untuk ECC, misal
384
; untuk RSA, misal2048
atau4096
. Kunci yang lebih panjang umumnya lebih aman tetapi mungkin memperlambat proses. - Password (Kata Sandi): Sangat penting! Tetapkan kata sandi yang kuat untuk melindungi private key sertifikat anda. Password ini diperlukan saat mengekspor sertifikat (file
.p12
) dan saat digunakan di alat penandatanganan kode. Pastikan anda mengingat password ini, karena ServBay tidak dapat membantu mengembalikan jika lupa. Gunakan kata sandi kustom anda sendiri. Catatan:ServBay.dev
pada screenshot hanyalah contoh, JANGAN gunakan password sederhana ini; pakailah password aman milik anda sendiri!
Contoh tampilan, silakan isi sesuai informasi anda
- Common Name (Nama Umum): Isi nama organisasi anda atau nama pribadi. Contoh:
Ajukan Permohonan Sertifikat: Setelah semua informasi terisi dan benar, klik tombol "Request" di bagian bawah halaman. ServBay akan otomatis menerbitkan sertifikat penandatanganan kode Anda dengan CA yang telah anda pilih.
Mengekspor dan Menggunakan Sertifikat
Setelah berhasil memperoleh sertifikat penandatanganan kode, anda harus mengekspornya ke format standar agar dapat digunakan dengan berbagai alat penandatanganan kode. File hasil ekspor dari ServBay biasanya berformat .p12
.
Buka Panel Manajemen Sertifikat SSL: Pada sidebar ServBay, klik "SSL Certificates".
Temukan Sertifikat Penandatanganan Kode Anda: Pada daftar sertifikat, cari sertifikat yang barusan diajukan dengan tujuan "Code Signing".
Klik Tombol Ekspor: Klik ikon ekspor di sebelah kanan entri sertifikat tersebut (ikon biasanya berupa panah ke kanan).
Pilih Lokasi Ekspor dan Setel Kata Sandi: Pada jendela ekspor yang muncul, pilih direktori lokal tempat anda ingin menyimpan file sertifikat. Format file ekspor biasanya
.p12
(PKCS#12). File ini berisi sertifikat penandatanganan kode beserta private key, sehingga dilindungi kata sandi. Masukkan password yang anda tetapkan saat permohonan sertifikat untuk menyelesaikan ekspor.Gunakan Sertifikat di Alat Penandatanganan Kode: Impor file
.p12
ke alat penandatanganan kode sesuai kebutuhan anda. Setiap sistem operasi dan lingkungan pengembangan memiliki alat berbeda:- macOS: Gunakan perintah
codesign
bawaan. Anda perlu impor.p12
ke Keychain Access di macOS. - Windows: Gunakan alat perintah
signtool.exe
dari Windows SDK. Anda perlu impor.p12
ke Certificate Manager Windows. - Platform/Lingkungan Lain: Sesuaikan dengan toolchain yang dipakai (misal Java
jarsigner
, .NETSignTool
, tool pihak ketiga di Go, dsb.). Biasanya, anda tinggal menyediakan path.p12
dan password private key.
- macOS: Gunakan perintah
Setelah diimpor, anda bisa mulai menandatangani kode, aplikasi, driver, dan lain-lain menggunakan sertifikat ini.
Contoh Menandatangani Kode dengan Sertifikat di macOS
Berikut langkah-langkah contoh penggunaan alat codesign
pada macOS dengan sertifikat .p12
ekspor dari ServBay untuk penandatanganan binary sederhana.
Asumsikan file .p12
dari ServBay sudah diimpor ke Keychain Access macOS dan password dimasukkan dengan benar saat impor.
bash
# 1. Membuat source file C sederhana untuk pengujian tanda tangan
# Simpan konten berikut sebagai test.c
cat <<EOF > test.c
#include <stdio.h>
int main() {
printf("Hello, ServBay Code Signing!\n");
return 0;
}
EOF
# 2. Kompilasi file C menjadi file binary eksekusi
# -o /tmp/test memberi nama file hasil ke /tmp/test
gcc test.c -o /tmp/test
echo "Kompilasi berhasil, file /tmp/test tercipta"
# 3. Cari identitas sertifikat yang dapat digunakan untuk penandatanganan kode
# -v tampilkan detail lengkap
# -p codesigning filter identitas khusus penandatanganan kode
# Cari Common Name atau hash sertifikat anda (misal 99C183BC3796067FAFBA6F232D1C3C3425DAABDA)
security find-identity -v -p codesigning
# Contoh output seperti berikut:
# 1) ABCDEF1234567890ABCDEF1234567890ABCDEF12 "Apple Development: Your Name (XYZ123)"
# 2) 99C183BC3796067FAFBA6F232D1C3C3425DAABDA "ServBay Demo Developer"
# 2 valid identities found
# Catat hash atau Common Name sertifikat ServBay anda ("ServBay Demo Developer")
# 4. Menandatangani file binary dengan sertifikat yang ditemukan
# -f paksa penandatanganan (jika file sudah ditandatangani, akan diganti)
# -s tentukan identitas; bisa berupa hash atau Common Name (jika unik)
# --timestamp tambahkan timestamp (opsional tapi dianjurkan)
# /tmp/test adalah file yang akan ditandatangani
codesign -f -s "ServBay Demo Developer" --timestamp /tmp/test
# atau gunakan hash:
# codesign -f -s "99C183BC3796067FAFBA6F232D1C3C3425DAABDA" --timestamp /tmp/test
echo "/tmp/test telah ditandatangani dengan sertifikat penandatanganan kode"
# 5. Verifikasi apakah tanda tangan sudah benar
# -dvvv tampilkan informasi lengkap tanda tangan
codesign -dvvv /tmp/test
# Lihat bagian "Authority", harus menampilkan chain CA ServBay anda
# Perhatikan "Signature size", "CDHash", dll, menandakan file telah ditandatangani
# Periksa juga "Timestamp"
# Contoh output verifikasi dapat memuat:
# Authority=ServBay Demo Developer
# Authority=ServBay User CA - ECC Code Signing
# Authority=ServBay Public CA - ECC Root
# Timestamp=Nov 7, 2024 at 18:26:48 (tanggal contoh)
# 6. Modifikasi file guna merusak tanda tangan
# Tulis data acak ke file; ini mengubah hash file
echo "abcde" >> /tmp/test
echo "Isi /tmp/test telah diubah"
# 7. Verifikasi kembali tanda tangan
# Kali ini verifikasi seharusnya gagal
codesign -dvvv /tmp/test
# Contoh output:
# /tmp/test: code object is not signed at all
# atau error lain, menandakan tanda tangan invalid karena isi file berubah.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Penjelasan:
security find-identity
menampilkan semua sertifikat yang dapat digunakan untuk keperluan tertentu (codesigning
). Gunakan Common Name atau hash yang sesuai dengan sertifikat ServBay anda.codesign -f -s "Identitas Anda"
melakukan penandatanganan. Opsi--timestamp
menambahkan waktu (dari server timestamp) sehingga tanda tangan tetap valid walau sertifikat habis masa berlaku, asalkan valid pada saat penandatanganan.codesign -dvvv
memverifikasi detail tanda tangan, chain kepercayaan, serta integritas file.- Langkah terakhir mendemonstrasikan fungsi pokok penandatanganan kode: verifikasi integritas. Perubahan apa pun pada file membuat tanda tangan tidak valid.
Perpanjangan Sertifikat
Sertifikat penandatanganan kode dari ServBay memiliki masa berlaku tertentu (biasanya 800 hari). Sebelum masa aktif habis, anda bisa memperpanjangnya melalui panel manajemen sertifikat SSL di ServBay.
- Buka panel sertifikat SSL.
- Cari sertifikat penandatanganan kode yang ingin diperpanjang.
- Klik ikon perpanjangan: Klik ikon putar/refresh (biasanya panah melingkar) di samping entri sertifikat.
- Konfirmasi perpanjangan: Setelah tombol perpanjangan diklik, ServBay akan menerbitkan sertifikat baru dengan masa aktif 800 hari dari tanggal perpanjangan.
Menghapus Sertifikat
Jika anda tidak lagi membutuhkan suatu sertifikat penandatanganan kode, anda dapat menghapusnya dari ServBay.
- Buka panel manajemen sertifikat SSL.
- Temukan sertifikat yang ingin dihapus.
- Klik ikon hapus: Klik ikon tong sampah di samping entri sertifikat.
- Konfirmasi penghapusan: Pada dialog konfirmasi yang muncul pilih "Delete" lalu konfirmasi kembali. Hati-hati, setelah dihapus sertifikat tidak bisa dikembalikan.
Tanya Jawab (FAQ)
T: Apakah sertifikat penandatanganan kode dari ServBay gratis?
J: Ya, sertifikat yang diterbitkan oleh CA internal ServBay adalah fitur built-in—anda tidak dikenakan biaya tambahan.
T: Apakah saya boleh menandatangani dan mendistribusikan perangkat lunak komersial ke pengguna dengan sertifikat dari ServBay?
J: Tidak boleh. Sertifikat ServBay diterbitkan oleh CA internal yang tidak dipercaya oleh sistem operasi publik maupun toko aplikasi. Sertifikat ini hanya cocok untuk pengembangan lokal, pengujian, atau lingkungan internal yang dikontrol. Untuk perangkat lunak komersial yang hendak didistribusikan publik, anda harus membeli sertifikat dari CA tepercaya secara publik.
T: Bagaimana jika saya lupa password saat ekspor file .p12
?
J: ServBay tidak menyimpan password private key anda. Jika lupa, anda tidak akan bisa mengekspor atau menggunakan private key sertifikat itu. Solusinya: hapus sertifikat lama dan ajukan permohonan sertifikat penandatanganan kode yang baru.
T: Bisakah ServBay User CA ditambahkan ke trusted store sistem operasi saya?
J: Bisa. Anda hanya perlu mengekspor sertifikat ServBay User CA lalu mengimpornya manual ke trusted CA store sistem operasi atau browser anda.
Ringkasan
Fitur sertifikat penandatanganan kode ServBay memudahkan pengembang melakukan pengujian penandatanganan perangkat lunak atau menandatangani alat internal di lingkungan lokal. Dengan panduan ini, anda telah memahami alur pengajuan, ekspor, dan penggunaan sertifikat penandatanganan kode ServBay. Perlu diingat, sertifikat ini ditujukan untuk kebutuhan pengembangan atau pengujian—bukan untuk skenario produksi yang memerlukan kepercayaan publik.
Bila mengalami masalah saat pengajuan atau penggunaan, silakan konsultasikan dokumentasi resmi ServBay atau ajukan pertanyaan di komunitas pengguna.