"Yazılımımı imzalamak istiyorum" sorusunun cevabı platforma göre değişir. Windows sürücüsü için EV kod imzalama sertifikası ve Microsoft'un imzası gerekir. Android ve macOS'ta ise ticari bir kod imzalama sertifikasına hiç ihtiyaç yoktur. Bu yazıda hangi durumda ne gerektiğini netleştiriyoruz.
Özet tablo
| Ne imzalanacak? | Gereken sertifika | Nasıl? |
|---|---|---|
| Windows uygulaması (.exe, .msi) | OV veya EV kod imzalama | signtool ile Authenticode |
| Windows çekirdek sürücüsü (.sys) | EV kod imzalama + Microsoft imzası | Hardware Dev Center üzerinden |
| PowerShell, Office VBA, Java (.jar) | OV veya EV kod imzalama | Platformun kendi aracı |
| Android (.apk / .aab) | Gerekmez; geliştiricinin kendi anahtarı | apksigner / Play App Signing |
| macOS / iOS | Gerekmez; Apple Developer sertifikası | Xcode / codesign |
Windows sürücü (driver) imzalama
Windows 10 sürüm 1607'den bu yana yeni çekirdek modu sürücüler, yalnızca kendi sertifikanızla imzalandığında yüklenmez; sürücünün Microsoft tarafından da imzalanması gerekir. Süreç şöyledir:
- EV kod imzalama sertifikası alın. Microsoft Hardware Dev Center (Partner Center) hesabını kaydetmek için şirketinize ait bir EV kod imzalama sertifikası istenir.
- Sürücü paketini hazırlayın ve .cab dosyasını EV sertifikanızla imzalayın.
- Hardware Dev Center'a gönderin. Test sürümleri için "attestation signing", dağıtım için gerekirse HLK testleriyle WHQL imzası seçilir.
- Microsoft'un imzaladığı paketi indirip dağıtın.
Kullanıcı modunda çalışan yardımcı uygulamalarınızı ise normal Authenticode ile imzalarsınız; adımlar EXE imzalama nasıl yapılır? yazısında.
Uygun EV sertifikaları: DigiCert EV Code Signing, Sectigo EV Code Signing, GoGetSSL EV Code Signing ve token gerektirmeyen Certum Cloud EV Kod İmzalama. Microsoft'un sertifikayı kabul edip etmediğini hesabı açmadan önce Hardware Dev Center'ın güncel listesinden kontrol etmenizi öneririz.
APK imzalama
Android uygulamaları, geliştiricinin kendi oluşturduğu bir anahtarla imzalanır; bir sertifika otoritesinden alınmış kod imzalama sertifikası gerekmez ve Android bunu ayrıca doğrulamaz. Temel adımlar:
keytool -genkeypair -v -keystore uygulama.jks -keyalg RSA -keysize 4096 -validity 10000 -alias uygulama
apksigner sign --ks uygulama.jks --out imzali.apk uygulama.apk
apksigner verify --verbose imzali.apk
Google Play'de yayınlıyorsanız Play App Signing kullanılır: Play Console'a "yükleme anahtarınızla" imzalı paket gönderirsiniz, dağıtım imzasını Google atar. Anahtar dosyanızı ve şifresini güvenli yedekleyin; kaybedilirse güncelleme yayınlamak zorlaşır.
macOS ve iOS
Apple platformlarında imzalama Apple Developer Program üyeliğiyle gelen Developer ID (macOS, mağaza dışı dağıtım) ve App Store sertifikalarıyla yapılır. macOS'ta mağaza dışı dağıtılan uygulamalar ayrıca Apple'a "notarize" ettirilir. Ticari kod imzalama sertifikaları Apple tarafından bu amaçla kabul edilmez.
Diğer Windows dosyaları
- PowerShell betikleri:
Set-AuthenticodeSignatureile imzalanır; kurumlar genellikle yalnızca imzalı betiklere izin verir. - Office VBA makroları: VBA düzenleyicide Araçlar → Dijital İmza ile imzalanır.
- Java (.jar):
jarsignerile; token veya bulut anahtarı için PKCS#11 yapılandırması gerekir.
Bu kullanımların hepsi için OV kod imzalama yeterlidir. Seçenekler: OV kod imzalama ve tüm kod imzalama sertifikaları.

Yorumlar
Henüz yorum yapılmamış. İlk yorumu siz yapın!
Yorum Yaz