Windows Uygulaması Nasıl İmzalanır?
Windows platformunda yazılım geliştiriyorsanız, uygulamanızı dijital olarak imzalamak kritik bir adımdır. Bu rehberde, Windows uygulamasını kod imzalama sertifikası ile imzalamayı adım adım öğreneceksiniz.
Gereksinimler
- Kod imzalama sertifikası (OV veya EV)
- Windows SDK (signtool.exe dahil)
- PFX dosyası veya USB token
- Windows 10/11 işletim sistemi
Adım 1: Windows SDK Kurulumu
signtool.exe, Windows SDK ile birlikte gelir. Visual Studio yüklüyse zaten mevcuttur. Yoksa Microsoft'un web sitesinden indirilebilir.
signtool'un tipik konumu:
C:\Program Files (x86)\Windows Kits\10\bin\10.0.xxxxx.0\x64\signtool.exe
Adım 2: Sertifika Hazırlığı
PFX Dosyası ile İmzalama
Sertifikanız PFX (PKCS#12) formatındaysa doğrudan kullanabilirsiniz:
REM PFX ile imzalama
signtool sign /f "C:\sertifika\mysertifika.pfx" /p "sifre123" /tr http://timestamp.digicert.com /td sha256 /fd sha256 "C:\build\uygulama.exe"
Windows Sertifika Deposundan İmzalama
Sertifikanız Windows sertifika deposuna yüklüyse:
REM Sertifika deposundan otomatik seçim
signtool sign /a /tr http://timestamp.digicert.com /td sha256 /fd sha256 "uygulama.exe"
Adım 3: İmzalama Parametreleri
| Parametre | Açıklama |
|---|---|
| /f | PFX sertifika dosyası yolu |
| /p | PFX dosyasının şifresi |
| /a | Sertifikayı otomatik seç (depodan) |
| /tr | RFC 3161 timestamp sunucusu URL'si |
| /td | Timestamp hash algoritması (sha256) |
| /fd | Dosya hash algoritması (sha256) |
| /d | Açıklama metni |
| /du | Açıklama URL'si |
Adım 4: Timestamp Ekleme
Timestamp (zaman damgası) eklenmesi çok önemlidir. Timestamp olmadan, sertifikanız süresi dolduğunda imzanız geçersiz hale gelir.
Popüler timestamp sunucuları:
http://timestamp.digicert.comhttp://timestamp.sectigo.comhttp://timestamp.globalsign.com/tsa/r6advanced1
Adım 5: İmza Doğrulama
REM İmza doğrulama
signtool verify /pa /v "uygulama.exe"
Başarılı çıktı şöyle görünür:
Successfully verified: uygulama.exe Number of files successfully Verified: 1
Birden Fazla Dosya İmzalama
REM Klasördeki tüm EXE dosyalarını imzala
for %%f in (C:\build\*.exe) do (
signtool sign /a /tr http://timestamp.digicert.com /td sha256 /fd sha256 "%%f"
)
CI/CD Pipeline Entegrasyonu
Otomatik build süreçlerinde imzalama yapmak için:
# GitHub Actions örneği
- name: Sign Application
run: |
signtool sign /f ${{ secrets.CERT_PATH }} /p ${{ secrets.CERT_PASS }} /tr http://timestamp.digicert.com /td sha256 /fd sha256 build/output/app.exe
Sık Yapılan Hatalar
- Timestamp eklemeyi unutmak: Sertifika süresi dolunca imza geçersiz olur
- SHA-1 kullanmak: SHA-1 artık desteklenmiyor, mutlaka SHA-256 kullanın
- Tüm bileşenleri imzalamamak: EXE yanında DLL, MSI dosyalarını da imzalayın
- İmza sırasını yanlış yapmak: Önce iç bileşenleri, sonra ana dosyayı imzalayın
Sonuç
Windows uygulamasını imzalamak, signtool ve bir kod imzalama sertifikası ile oldukça basittir. Timestamp eklemeyi unutmayın, SHA-256 kullanın ve tüm bileşenleri imzalayın. Bu adımları izleyerek SmartScreen uyarılarından kurtulun ve profesyonel bir yazılım dağıtımı yapın.
Yorumlar
Henüz yorum yapılmamış. İlk yorumu siz yapın!
Yorum Yaz