Cara Memohon dan Menggunakan Sijil Penandatanganan Kod ServBay
Pengenalan
Dalam proses pembangunan dan pengedaran perisian, penandatanganan kod merupakan langkah penting untuk memastikan kepercayaan pengguna dan integriti perisian. Melalui tandatangan digital terhadap kod, pembangun boleh membuktikan asal-usul perisian dan menjamin bahawa kod belum diubah sejak ditandatangani.
ServBay menyediakan satu ciri mudah yang membolehkan pembangun memohon dan menggunakan sijil penandatanganan kod yang dikeluarkan oleh CA dalaman ServBay dalam persekitaran pembangunan tempatan mereka. Sijil ini amat sesuai bagi:
- Menandatangani perisian semasa fasa pembangunan atau ujian untuk mensimulasikan proses tandatangan sebenar.
- Menandatangani skrip dalaman, alat atau aplikasi untuk pengesahan asal dan integriti dalam pasukan atau persekitaran yang dipercayai.
- Belajar dan mempraktikkan keseluruhan proses penandatanganan kod tanpa perlu membeli sijil penandatanganan kod komersial yang mahal.
Perhatian Penting: Sijil yang dikeluarkan oleh CA dalaman ServBay BUKAN sijil yang dipercayai secara umum oleh pihak berkuasa pensijilan awam (seperti Let's Encrypt, Comodo dan sebagainya). Sistem operasi atau pelayar tidak akan mempercayai sijil ini secara lalai. Oleh itu, sijil ini tidak sesuai digunakan dalam senario yang memerlukan kepercayaan awam, contohnya pengedaran perisian komersial kepada pengguna akhir, penyerahan ke gedung aplikasi, atau perisian yang perlu melepasi pemeriksaan keselamatan sistem operasi (seperti amaran macOS Gatekeeper kepada pembangun yang tidak dikenali). Sijil ini hanya sesuai untuk pembangunan tempatan, ujian atau persekitaran terkawal.
Pengenalan Sijil Penandatanganan Kod
Sijil penandatanganan kod ialah sijil digital yang digunakan untuk menandatangani fail boleh laksana, skrip, perpustakaan dan kod perisian lain secara digital. Fungsi terasnya adalah untuk membina kepercayaan dan memastikan keselamatan kod:
- Pengesahan Identiti Penerbit Perisian: Sijil mengandungi maklumat tentang penerbit, tandatangan digital membuktikan perisian benar-benar berasal dari pembangun atau organisasi yang dinyatakan dalam sijil.
- Menjamin Integriti Kod: Proses penandatanganan menghasilkan nilai hash berasaskan kandungan kod dan mengenkripsinya menggunakan kunci peribadi. Ketika pengesahan, sistem mengira semula nilai hash dan menyahsulit nilai dari tandatangan digital menggunakan kunci awam untuk dibandingkan. Sebarang perubahan pada kod akan menyebabkan nilai hash tidak sepadan dan pengesahan tandatangan gagal, menandakan kod telah diubah.
- Meningkatkan Kepercayaan Pengguna: Sistem operasi atau perisian keselamatan lazimnya memberi amaran kepada pengguna jika perisian tidak ditandatangani atau berasal dari penerbit yang tidak diketahui. Menggunakan sijil penandatanganan kod boleh menghapuskan amaran ini (dalam persekitaran yang dipercayai, atau jika CA ServBay telah ditambah ke rantaian kepercayaan secara manual), sekali gus meningkatkan keyakinan pengguna untuk memasang dan menggunakan perisian.
- Mencegah Penyebaran Perisian Berbahaya: Penandatanganan kod membantu pengguna membezakan perisian sah daripada program jahat yang cuba menyamar, dan seterusnya membantu mencegah penyebaran malware.
Memohon Sijil Penandatanganan Kod Melalui ServBay
ServBay memudahkan proses mendapatkan sijil penandatanganan kod dalam persekitaran tempatan anda.
Buka Panel Pengurusan Sijil SSL: Dalam bar sisi aplikasi ServBay, klik menu "SSL Certificates".
Mulakan Permohonan Sijil Baru: Dalam halaman pengurusan sijil SSL, klik butang "+" (Tambah) di bahagian kanan atas.
Isikan Maklumat Sijil: Pada halaman "Request Certificate" (Mohon Sijil), anda mesti mengisi maklumat penting berikut:
- Common Name (Nama Umum): Masukkan nama organisasi anda atau nama peribadi. Contoh:
ServBay, LLC
atauServBay Demo Developer
. - Usage Purpose (Tujuan): Pilih tujuan penggunaan sijil. Sila pilih
Code Signing
(Penandatanganan Kod). - Request Method (Kaedah Permohonan): Pilih kaedah pengeluaran sijil. Pilih
ServBay CA
untuk menggunakan ciri pengeluaran sijil dalaman ServBay. - Issuer (Penerbit): Pilih CA dalaman ServBay yang akan mengeluarkan sijil ini. Selalunya pilih
ServBay User CA
. - Algorithm (Algoritma): Pilih algoritma kriptografi untuk menghasilkan pasangan kunci. Pilihan lazim termasuk
ECC
(Elliptic Curve Cryptography) atauRSA
. ECC selalunya memberi keselamatan lebih tinggi dengan panjang kunci yang lebih pendek. - Key Length (Panjang Kunci): Pilih panjang kunci untuk algoritma dipilih. Untuk ECC, contoh
384
; untuk RSA, contoh2048
atau4096
. Kunci lebih panjang biasanya lebih selamat, tetapi mungkin sedikit lebih perlahan. - Password (Kata Laluan): Sangat Penting! Tetapkan kata laluan yang kukuh untuk melindungi kunci peribadi sijil anda. Kata laluan ini diperlukan semasa mengeksport sijil (fail
.p12
) dan ketika digunakan dalam alat penandatanganan kod. Pastikan anda mengingati kata laluan ini kerana ServBay tidak dapat membantu memulihkan kata laluan kunci peribadi yang hilang. Anda boleh memilih kata laluan tersendiri. (Nota: Kata laluan sepertiServBay.dev
dalam tangkapan layar hanyalah contoh. Jangan gunakan kata laluan lemah dalam penggunaan sebenar; pilihlah kata laluan yang selamat.)
Contoh tangkapan layar, sila isi mengikut maklumat sebenar anda
- Common Name (Nama Umum): Masukkan nama organisasi anda atau nama peribadi. Contoh:
Hantar Permohonan Sijil: Selepas mengisi semua maklumat dan pastikan semuanya betul, klik butang "Request" di bahagian bawah halaman. ServBay akan menggunakan ServBay User CA yang anda tentukan untuk mengeluarkan sijil penandatanganan kod secara automatik.
Eksport dan Penggunaan Sijil
Selepas anda berjaya memohon sijil penandatanganan kod, anda perlu mengeksportnya dalam format standard supaya boleh digunakan dalam pelbagai alat penandatanganan kod. Sijil yang dieksport dari ServBay biasanya berformat fail .p12
.
Akses Panel Pengurusan Sijil SSL: Klik "SSL Certificates" di bar sisi ServBay.
Cari Sijil Penandatanganan Kod Anda: Dalam senarai sijil, cari sijil yang baru anda mohon dengan tujuan "Code Signing".
Klik Ikon Eksport: Klik ikon eksport di sebelah kanan entri sijil tersebut (biasanya ikon anak panah ke kanan).
Pilih Direktori Eksport & Tetapkan Kata Laluan: Dalam tetingkap eksport yang dipaparkan, pilih direktori tempatan untuk menyimpan fail sijil anda. Format eksport biasanya
.p12
(PKCS#12) — fail ini mengandungi sijil penandatanganan kod dan kunci peribadinya, jadi ia dilindungi dengan kata laluan. Anda mesti memasukkan kata laluan yang ditetapkan semasa permohonan sijil untuk melengkapkan eksport.Menggunakan Sijil dalam Alat Penandatanganan Kod: Import fail
.p12
yang dieksport ke dalam alat penandatanganan kod anda. Sistem operasi dan persekitaran pembangunan yang berbeza menggunakan alat berbeza:- macOS: Gunakan alat baris perintah terbina dalam,
codesign
. Anda mungkin perlu mengimport fail.p12
ke dalam Keychain Access macOS terlebih dahulu. - Windows: Guna alat baris perintah
signtool.exe
(disediakan oleh Windows SDK). Anda mungkin perlu mengimport fail.p12
ke pengurus sijil Windows terlebih dahulu. - Platform/Alat Lain: Bergantung pada teknologi dan alat binaan anda (seperti Java
jarsigner
, .NETSignTool
, alat penandatanganan Go pihak ketiga dan lain-lain), semak kaedah import dan penandatanganan masing-masing. Lazimnya, anda perlu menyediakan laluan fail.p12
dan kata laluan kunci peribadi.
- macOS: Gunakan alat baris perintah terbina dalam,
Selepas mengimport sijil, anda boleh menggunakannya untuk menandatangani kod, aplikasi, pemacu, dan banyak lagi secara digital.
Contoh Penandatanganan Kod Menggunakan Sijil (macOS)
Berikut ialah contoh bagaimana menggunakan alat codesign
pada macOS bersama sijil .p12
yang dieksport dari ServBay untuk menandatangani dan mengesahkan satu fail binari ringkas.
Anggapkan anda sudah mengimport fail .p12
ke Keychain Access macOS dan memasukkan kata laluan dengan betul semasa import.
bash
# 1. Cipta satu fail sumber C ringkas untuk ujian tandatangan
# Simpan kod di bawah sebagai test.c
cat <<EOF > test.c
#include <stdio.h>
int main() {
printf("Hello, ServBay Code Signing!\n");
return 0;
}
EOF
# 2. Kompilasi fail C menggunakan gcc untuk hasilkan fail binari boleh laksana
# -o /tmp/test menentukan nama fail output ialah /tmp/test
gcc test.c -o /tmp/test
echo "Kompilasi berjaya, fail /tmp/test dihasilkan"
# 3. Cari sijil identiti yang boleh digunakan untuk penandatanganan kod
# -v paparkan maklumat terperinci
# -p codesigning tapis sijil yang boleh digunakan untuk penandatanganan kod
# Cari "Common Name" atau nilai hash sijil anda (contoh: 99C183BC3796067FAFBA6F232D1C3C3425DAABDA)
security find-identity -v -p codesigning
# Contoh output:
# 1) ABCDEF1234567890ABCDEF1234567890ABCDEF12 "Apple Development: Your Name (XYZ123)"
# 2) 99C183BC3796067FAFBA6F232D1C3C3425DAABDA "ServBay Demo Developer"
# 2 valid identities found
# Catatkan nilai hash atau Common Name ("ServBay Demo Developer") untuk sijil ServBay anda
# 4. Gunakan sijil yang ditemui untuk menandatangani fail binari
# -f paksa penandatanganan (gantikan jika sudah ditandatangani)
# -s tentukan identiti tandatangan, sama ada nilai hash atau Common Name (jika unik)
# --timestamp tambah cap masa (pilihan tetapi disyorkan untuk kesahihan masa tandatangan)
# /tmp/test ialah laluan fail yang hendak ditandatangan
codesign -f -s "ServBay Demo Developer" --timestamp /tmp/test
# Atau guna nilai hash:
# codesign -f -s "99C183BC3796067FAFBA6F232D1C3C3425DAABDA" --timestamp /tmp/test
echo "/tmp/test telah ditandatangani dengan sijil penandatanganan kod"
# 5. Sahkan tandatangan kod
# -dvvv paparkan maklumat tandatangan yang sangat terperinci
codesign -dvvv /tmp/test
# Semak medan "Authority" untuk maklumat sijil anda dan rantaian CA ServBay
# Semak "Signature size" dan "CDHash" untuk bukti fail telah ditandatangani
# Periksa kehadiran "Timestamp"
# Contoh output pengesahan:
# 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 (contoh waktu)
# 6. Ubah kandungan fail untuk melihat efek terhadap tandatangan
# Tambah data rawak ke fail — ini akan mengubah nilai hash fail tersebut
echo "abcde" >> /tmp/test
echo "Kandungan /tmp/test telah diubah"
# 7. Sahkan tandatangan sekali lagi
# Kini tandatangan sepatutnya gagal
codesign -dvvv /tmp/test
# Contoh output:
# /tmp/test: code object is not signed at all
# Atau ralat serupa, menandakan tandatangan tidak sah kerana kandungan telah 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
digunakan untuk menyenaraikan sijil yang boleh digunakan untuk tujuan tertentu seperticodesigning
. Cari identiti sijil ServBay yang anda import (selalunya Common Name atau nilai hash).codesign -f -s "Your Identity"
menjalankan proses tandatangan. Pilihan--timestamp
menghubungi pelayan cap masa untuk melengkapkan tandatangan dengan masa dipercayai. Walaupun sijil tamat tempoh kemudian, tandatangan dengan cap masa yang sah kekal sah.codesign -dvvv
mengesahkan tandatangan serta memeriksa kesahan sijil, rantaian kepercayaan, dan sama ada kandungan fail padan dengan nilai hash asal.- Langkah terakhir mengubah fail dan mengesahkan semula memperlihatkan fungsi utama penandatanganan kod — pengesahan integriti. Sebarang perubahan menyebabkan tandatangan tidak sah.
Pembaharuan Sijil
Sijil penandatanganan kod dari ServBay mempunyai tempoh sah tertentu (kebiasaannya 800 hari). Sebelum tamat tempoh, anda boleh memperbaharui sijil di panel pengurusan sijil SSL ServBay.
- Akses panel pengurusan sijil SSL.
- Cari sijil penandatanganan kod yang ingin diperbaharui.
- Klik ikon pembaharuan: Klik ikon bulatan (biasanya anak panah bulat) di sebelah kanan sijil.
- Sahkan pembaharuan: Selepas klik butang pembaharuan, ServBay akan mengeluarkan sijil baru dengan tempoh sah 800 hari bermula dari tarikh semasa.
Padam Sijil
Jika anda tidak lagi memerlukan sesuatu sijil penandatanganan kod, anda boleh memadamkannya dari ServBay.
- Akses panel pengurusan sijil SSL.
- Cari sijil yang ingin dipadam.
- Klik ikon padam: Klik ikon tong sampah di sebelah kanan sijil.
- Sahkan penghapusan: Dalam menu pengesahan, pilih "Delete" dan sahkan tindakan anda sekali lagi. Sila maklum bahawa sijil tidak boleh dipulihkan selepas dipadam.
Soalan Lazim (FAQ)
S: Adakah sijil penandatanganan kod ServBay percuma?
J: Ya, sijil yang dikeluarkan oleh CA dalaman ServBay adalah ciri terbina ServBay dan tiada yuran tambahan dikenakan.
S: Bolehkah saya gunakan sijil ServBay untuk menandatangani dan mengedarkan perisian komersial kepada pengguna?
J: Tidak boleh. Sijil ServBay hanya dikeluarkan oleh CA dalaman dan tidak dipercayai sistem operasi umum atau gedung aplikasi. Ia hanya sesuai untuk pembangunan tempatan, ujian, atau persekitaran dalaman yang terkawal. Untuk pengedaran perisian komersial secara umum, anda memerlukan sijil penandatanganan kod dari CA yang dipercayai secara publik.
S: Apa yang harus saya lakukan jika terlupa kata laluan eksport fail .p12
?
J: ServBay tidak menyimpan kata laluan kunci peribadi anda. Jika anda lupa kata laluan, anda tidak boleh mengeksport atau menggunakan kunci peribadi sijil itu lagi. Anda perlu memadam sijil berkenaan dan memohon sijil penandatanganan kod yang baru.
S: Bolehkah saya tambah ServBay User CA ke stor kepercayaan sistem operasi saya?
J: Ya, anda biasanya perlu mengeksport sijil ServBay User CA dan mengimportnya secara manual ke stor kepercayaan sistem operasi atau pelayar anda.
Ringkasan
Ciri penandatanganan kod yang disediakan oleh ServBay memudahkan pembangun untuk melakukan ujian tandatangan perisian dalam persekitaran tempatan serta menandatangani alat dalaman. Melalui panduan ini, anda telah mempelajari cara memohon, mengeksport serta menggunakan sijil ini di ServBay. Ingat, sijil ini hanya bertujuan untuk pembangunan dan ujian; tidak sesuai untuk kegunaan yang memerlukan kepercayaan awam.
Jika anda menghadapi sebarang masalah sepanjang proses permohonan atau penggunaan, sila rujuk dokumentasi rasmi ServBay atau dapatkan sokongan daripada komuniti.