ServBay Kod İmzalama Sertifikası Nasıl Alınır ve Kullanılır
Genel Bakış
Yazılım geliştirme ve dağıtım süreçlerinde, kod imzalama kullanıcı güvenini sağlamak ve yazılım bütünlüğünü garanti altına almak için oldukça kritik bir adımdır. Dijital olarak imzalanan kod sayesinde bir geliştirici, yazılımın kaynağını kanıtlayabilir ve imzadan bu yana kodda herhangi bir değişiklik olmadığını gösterebilir.
ServBay, geliştiricilere yerel ortamlarında ServBay'in dahili CA'sı ile kod imzalama sertifikası başvurusu ve kullanımı için pratik bir özellik sunar. Bu sertifikalar özellikle şu senaryolar için uygundur:
- Yazılımın yerel geliştirme veya test aşamasında imzalanarak gerçek imzalama sürecinin simüle edilmesi.
- Takım içi veya güvenilir ortamlarda dahili olarak kullanılan script, araç veya uygulamaların imzalanarak kaynağının ve bütünlüğünün doğrulanması.
- Pahalı ticari kod imzalama sertifikaları almadan, kod imzalamanın tüm sürecini öğrenme ve uygulama.
Önemli Not: ServBay'in dahili CA'sı tarafından verilen kod imzalama sertifikaları, Let's Encrypt veya Comodo gibi genel itibarı olan sertifika otoriteleri tarafından verilmiş DEĞİLDİR. Bu nedenle, genel işletim sistemleri veya tarayıcılar tarafından varsayılan olarak güvenilmezler. Yani bu sertifikalar, kamuya dağıtımı yapılan ticari yazılımlar, uygulama mağazası başvuruları veya macOS Gatekeeper gibi güvenlik kontrolleri gereken yazılımlar gibi genel güven ihtiyacı olan durumlarda KULLANILMAMALIDIR. Temelde sadece yerel geliştirme, test veya kontrollü ortamda kullanılmak içindir.
Kod İmzalama Sertifikası Nedir?
Kod imzalama sertifikası, yürütülebilir dosyalar, scriptler, kütüphaneler ve benzeri yazılım kodunu dijital olarak imzalamak için kullanılan dijital bir sertifikadır. Temel fonksiyonları güven inşa etmek ve güvenliği sağlamaktır:
- Yazılım Yayımcısının Kimliğini Doğrulama: Sertifika, yayımcıya ait bilgileri içerir ve dijital imza yazılımın gerçekten sertifikada adı geçen geliştiriciye/kuruma ait olduğunu kanıtlar.
- Kodun Bütünlüğünü Sağlama: İmzalama işlemi, kod içeriğine dayalı bir hash değeri üretir ve bunu özel anahtar ile şifreler. Doğrulama sırasında, sistem hash değerini yeniden hesaplayıp, imzadaki hash'i açık anahtar ile çözerek karşılaştırır. Kodda herhangi bir değişiklik, bu hash değerinin uyuşmamasına neden olur ve imza geçersiz sayılır, yani kodun değiştiği ortaya çıkar.
- Kullanıcı Güvenini Artırma: İşletim sistemleri veya güvenlik yazılımları, imzasız veya bilinmeyen yayıncılardan gelen yazılımlarda güvenlik uyarısı gösterir. Kod imzalama sertifikası bu uyarıların ortadan kalkmasını sağlar (eğer CA güvenilmişse veya ServBay CA manuel olarak güven zincirine eklenmişse), bu da kullanıcıların yazılımı kurarken kendilerini daha güvende hissetmelerini sağlar.
- Kötü Amaçlı Yazılım Yayılımını Önleme: Kod imzalama sayesinde kullanıcılar yasal yazılımları, yasal görünümlü zararlı yazılımlardan kolayca ayırabilir ve kötü amaçlı yazılımların yayılımı engellenir.
ServBay İle Kod İmzalama Sertifikası Başvurusu
ServBay, yerel ortamda kod imzalama sertifikası alım sürecini oldukça kolaylaştırır.
SSL Sertifika Yönetim Panelini Açın: ServBay uygulamasının yan menüsünde "SSL Certificates" menüsüne tıklayın.
Yeni Sertifika Başvurusu: SSL sertifika yönetim sayfasının sağ üstünde "+" (Ekle) butonuna tıklayın.
Sertifika Bilgilerini Doldurun: "Request Certificate" (Sertifika Talebi) sayfasında şu bilgileri girmeniz gerekmektedir:
- Common Name (Genel Ad): Kurum adınızı veya adınızı yazın. Örneğin:
ServBay, LLC
ya daServBay Demo Developer
. - Usage Purpose (Kullanım Amacı): Sertifikanın amacı. Burada
Code Signing
(Kod İmzalama) seçilmelidir. - Request Method (Başvuru Yöntemi): Sertifikanın nasıl verileceğini belirtir.
ServBay CA
, yani ServBay'in yerleşik sertifika yetkilendirmesini seçin. - Issuer (Düzenleyen): Sertifikayı verecek ServBay iç CA'yı seçin. Genellikle
ServBay User CA
seçilir. - Algorithm (Algoritma): Anahtar çiftini oluşturacak şifreleme algoritması. Yaygın olarak
ECC
(Eliptik Eğri Kriptografisi) ya daRSA
(Rivest-Shamir-Adleman). ECC, genellikle daha yüksek güvenlik ve daha kısa anahtar uzunluğu sunar. - Key Length (Anahtar Uzunluğu): Seçilen algoritma için anahtar uzunluğu. ECC için örneğin
384
, RSA için2048
veya4096
. Anahtar uzadıkça güvenlik artar ama işlem hızı düşebilir. - Password (Şifre): Çok Önemli! Sertifika özel anahtarınızı korumak için güçlü bir şifre belirleyin. Bu şifre, sertifikayı dışa aktarırken (
.p12
dosyası) ve kod imzalama aracında gerekli olacak. Şifrenizi mutlaka not edin; ServBay kayıp şifreleri geri getiremez. Dilediğiniz bir şifre belirleyebilirsiniz. (Not: Ekran görüntüsündekiServBay.dev
sadece örnek şifredir, gerçek kullanımda böyle basit bir şifre kullanmayın ve kendi güvenli şifrenizi seçin!)
Görsel örnektir, kendi bilgilerinizle doldurunuz
- Common Name (Genel Ad): Kurum adınızı veya adınızı yazın. Örneğin:
Sertifika Başvurusunu Gönderin: Tüm bilgileri doldurduktan ve kontrol ettikten sonra, sayfanın altındaki "Request" butonuna basın. ServBay, belirttiğiniz ServBay User CA ile kod imzalama sertifikanızı otomatik olarak oluşturacaktır.
Sertifika Dışa Aktarımı ve Kullanımı
Kod imzalama sertifikasını başarıyla aldıktan sonra, onu farklı kod imzalama araçlarında kullanabilmek için standart bir biçimde dışa aktarmanız gerekir. ServBay genellikle sertifikaları .p12
formatında dışa aktarır.
SSL Sertifika Yönetim Paneline Girin: ServBay yan menüsünden "SSL Certificates" seçeneğine tekrar tıklayın.
Kod İmzalama Sertifikanızı Bulun: Sertifika listesinde, az önce başvurduğunuz "Code Signing" amaçlı sertifikayı bulun.
Dışa Aktar Seçeneğine Tıklayın: Sertifikanın sağındaki dışa aktar simgesine (genellikle sağa bakan bir ok simgesi) tıklayın.
Dışa Aktarma Klasörünü Seçin ve Şifreyi Girin: Açılan dışa aktarma penceresinde, sertifika dosyasının kaydedileceği yerel klasörü seçin. Dosya formatı genellikle
.p12
(PKCS#12) olur. Bu dosya, kod imzalama sertifikanızın yanında özel anahtarı da içerir ve şifreyle korunur. Sertifika başvurusu sırasında girdiğiniz şifreyi kullanarak dışa aktarımı tamamlayın.Sertifikayı Kod İmzalama Aracında Kullanın: Dışa aktardığınız
.p12
dosyasını kod imzalama aracınıza aktarın. Farklı işletim sistemi ve geliştirme ortamlarında farklı araçlar kullanılır:- macOS: Dahili
codesign
komut satırı aracı kullanılır. Öncesinde.p12
dosyasını macOS Anahtar Zinciri'ne (Keychain Access) aktarmanız gerekir. - Windows: Windows SDK ile gelen
signtool.exe
aracı kullanılır. Öncesinde.p12
dosyasını Windows Sertifika Yöneticisine aktarabilirsiniz. - Diğer Platform/Ortamlar: Java için
jarsigner
, .NET içinSignTool
, Go için üçüncü parti imzalama araçları gibi kullandığınız teknoloji ve derleme aracına göre gerekli aktarım ve imzalama adımlarını takip edin. Çoğu zaman.p12
dosya yolu ve anahtar parolası gerekir.
- macOS: Dahili
Sertifikayı içe aktardıktan sonra, yazılımınızı veya uygulamanızı dijital olarak imzalayabilirsiniz.
Kod İmzalama Sertifikası ile macOS'ta Kod Nasıl İmzalanır (Örnek)
Aşağıda, macOS'ta codesign
aracı ve ServBay'den dışa aktarılan bir .p12
sertifikasının kullanım örneği verilmiştir.
Varsayalım ki, ServBay'den dışa aktarılan .p12
dosyasını anahtar zincirine başarıyla aktardınız ve şifreyi doğru girdiniz.
bash
# 1. Test imzalama için basit bir C dosyası oluşturun
# İçeriği test.c olarak kaydedin
cat <<EOF > test.c
#include <stdio.h>
int main() {
printf("Hello, ServBay Code Signing!\n");
return 0;
}
EOF
# 2. C dosyasını gcc ile derleyerek yürütülebilir dosya oluşturun
# -o /tmp/test: çıktı dosya adı /tmp/test olarak belirlenir
gcc test.c -o /tmp/test
echo "Derleme başarılı, /tmp/test oluşturuldu"
# 3. Kod imzalama için kullanılabilir kimlikleri bulun
# -v: detaylı bilgi göster
# -p codesigning: kod imzalama için geçerli sertifikaları filtrele
# Sertifikanızın "Common Name" ya da hash değerini bulun (örn: 99C183BC3796067FAFBA6F232D1C3C3425DAABDA)
security find-identity -v -p codesigning
# Çıktı örneği:
# 1) ABCDEF1234567890ABCDEF1234567890ABCDEF12 "Apple Development: Your Name (XYZ123)"
# 2) 99C183BC3796067FAFBA6F232D1C3C3425DAABDA "ServBay Demo Developer"
# 2 valid identities found
# ServBay sertifikanızın hash değerini veya Common Name'ini ("ServBay Demo Developer") not alın
# 4. Sertifika ile dosyayı imzalayın
# -f: zorla imzala (varsa eski imzayı değiştirir)
# -s: imza kimliği olarak hash veya Common Name girin
# --timestamp: zaman damgası ekler (opsiyonel, tavsiye edilir)
# /tmp/test: imzalanacak dosya yolu
codesign -f -s "ServBay Demo Developer" --timestamp /tmp/test
# veya hash ile:
# codesign -f -s "99C183BC3796067FAFBA6F232D1C3C3425DAABDA" --timestamp /tmp/test
echo "/tmp/test kod imzalama sertifikası ile imzalandı"
# 5. İmza doğruluğunu kontrol edin
# -dvvv: çok detaylı imza bilgisini gösterir
codesign -dvvv /tmp/test
# "Authority" alanında sertifikanız ve ServBay CA zinciri görünecektir
# "Signature size" ve "CDHash" satırları imzalandığını gösterir
# "Timestamp" varsa zaman damgası doğrulandı demektir
# Örnek çıktı:
# Authority=ServBay Demo Developer
# Authority=ServBay User CA - ECC Code Signing
# Authority=ServBay Public CA - ECC Root
# Timestamp=7 Kasım 2024, 18:26:48 (örnek tarih)
# 6. Dosya içeriğini değiştirip imzayı bozun
# Dosyaya rastgele veri yazmak hash'i değiştirir
echo "abcde" >> /tmp/test
echo "/tmp/test içerik değiştirildi"
# 7. İmzayı tekrar doğrulayın
# Artık imza doğrulanmayacaktır
codesign -dvvv /tmp/test
# Çıktı:
# /tmp/test: code object is not signed at all
# veya benzeri bir hata – imza geçersiz, çünkü dosya değiştirildi.
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
Açıklamalar:
security find-identity
anahtar zincirinizdeki kod imzalamada kullanılabilecek kimlikleri listeler. ServBay sertifikanızın Common Name veya hash'ini bu şekilde bulabilirsiniz.codesign -f -s "Kimliğiniz"
komutu kodu imzalar.--timestamp
online zaman damgası ekler; böylece sertifikanız daha sonra geçersiz olsa dahi imza belirlenen zamanda geçerli olarak kabul edilir.codesign -dvvv
ayrıntılı imza doğrulaması yapar. Sertifika geçerliliği, güven zinciri ve dosyanın hash bütünlüğü kontrol edilir.- Son adımda dosya değişince imza bozulur; bu kod imzalamanın "bütünlük denetimi" özelliğini gösterir.
Sertifika Yenileme
ServBay tarafından verilen kod imzalama sertifikalarının belirli bir geçerlilik süresi vardır (genellikle 800 gün). Süre bitmeden sertifikanızı ServBay'in SSL sertifika panelinden yenileyebilirsiniz.
- SSL Sertifika Yönetim Paneline Girin.
- Yenilemek istediğiniz kod imzalama sertifikasını bulun.
- Yenileme işlemini başlatın: Sertifikanın sağındaki döngü ok simgesine tıklayın.
- Onay verin: Yenileme butonuna bastığınızda, ServBay baştan 800 gün geçerli yeni bir sertifika oluşturacaktır.
Sertifika Silme
Bir kod imzalama sertifikasına artık ihtiyacınız yoksa, onu ServBay'den silebilirsiniz.
- SSL Sertifika Yönetim Paneline Girin.
- Silmek istediğiniz sertifikayı bulun.
- Silme işlemini başlatın: Sertifikanın sağındaki çöp kutusu simgesine tıklayın.
- Silme işlemini onaylayın: Açılan menüde "Delete" seçeneğini seçin ve tekrar onaylayın. Dikkat: Sertifika silindikten sonra geri alınamaz.
Sıkça Sorulan Sorular (SSS)
S: ServBay'in verdiği kod imzalama sertifikaları ücretsiz mi?
C: Evet, ServBay dahili CA'sı ile verilen sertifikalar ServBay'in dahili bir özelliğidir ve ücret alınmaz.
S: ServBay tarafından verilen sertifika ile ticari yazılımımı imzalayıp son kullanıcıya dağıtabilir miyim?
C: Hayır. ServBay sertifikaları dahili bir CA tarafından imzalanır ve işletim sistemlerinde veya uygulama mağazalarında genel olarak güvenilmez. Sadece yerel geliştirme, test veya kurum içi ortamlarda kullanılmalıdır. Son kullanıcıya dağıtılacak ticari yazılım için, kamuya itibar edilen sertifika otoritelerinden kod imzalama sertifikası alınmalıdır.
S: .p12
dosyası için belirlediğim şifreyi unuttum, ne yapabilirim?
C: ServBay özel anahtarın şifresini saklamaz. Şifrenizi unutursanız, sertifikanın özel anahtarını dışa aktarmaz veya kullanamazsınız. Mevcut sertifikayı silip, yeni bir kod imzalama sertifikası başvurusunda bulunmanız gerekir.
S: ServBay User CA'yı işletim sistemimin güvenilen sertifikalarına ekleyebilir miyim?
C: Evet, genellikle ServBay User CA sertifikasını dışa aktarıp işletim sistemi ya da tarayıcıların güven depolarına manuel olarak ekleyebilirsiniz.
Sonuç
ServBay'in kod imzalama sertifikası özelliği, geliştiricilerin yerel ortamda yazılım imzalama testleri ve kurum içi araç imzalama işlemlerini kolayca gerçekleştirmesini sağlar. Bu rehber ile, ServBay'de kod imzalama sertifikası başvurusu, dışa aktarımı ve kullanımı hakkında temel süreci öğrenmiş oldunuz. Unutmayın, bu sertifikalar esas olarak geliştirme ve test amaçlı kullanılmalı ve kamuya açık güven içeren senaryolarda tercih edilmemelidir.
Başvuru veya kullanım sırasında sorun yaşarsanız, ServBay'in resmi dökümantasyonuna göz atabilir veya topluluk desteği isteyebilirsiniz.