İndirdiğiniz bir programın gerçekten üreticisine ait olup olmadığını ve yolda değiştirilip değiştirilmediğini anlamanın en güvenilir yolu, dosyanın dijital imzasını kontrol etmektir. Bu yazıda Windows, macOS ve Linux'ta dijital imzanın nasıl kontrol edileceğini, imza sonuçlarının ne anlama geldiğini ve en sık görülen hataları adım adım anlatıyoruz.
Dijital imza size ne söyler?
Kod imzalama sertifikasıyla imzalanmış bir dosya iki şeyi kanıtlar:
- Kim yayınladı? İmzada, sertifika otoritesinin doğruladığı yayımcı adı bulunur.
- Değiştirildi mi? Dosyada imzadan sonra tek bir bayt bile değişirse imza geçersiz olur.
İmzasız bir dosya zararlı olmak zorunda değildir, ancak kimin yayınladığını ve değiştirilip değiştirilmediğini doğrulayamazsınız.
Windows'ta dijital imza nasıl kontrol edilir?
Yöntem 1: Dosya özellikleri (en kolay yol)
- EXE, MSI veya DLL dosyasına sağ tıklayın ve Özellikler'i seçin.
- Dijital İmzalar sekmesine geçin. Bu sekme yoksa dosya imzasızdır.
- Listeden imzayı seçip Ayrıntılar'a tıklayın.
- Üst kısımda "Bu dijital imza geçerli." yazmalıdır.
- İmzalayan bölümünde yayımcının adını, Zaman damgası bölümünde imzanın atıldığı tarihi kontrol edin.
- Daha fazla ayrıntı için Sertifikayı Görüntüle'ye tıklayarak sertifikayı veren otoriteyi ve geçerlilik tarihlerini görebilirsiniz.
Yöntem 2: PowerShell
Get-AuthenticodeSignature "C:\Indirilenler\kurulum.exe" | Format-List
Status alanında Valid görmelisiniz. SignerCertificate alanı yayımcı bilgisini, TimeStamperCertificate alanı zaman damgasını gösterir.
Yöntem 3: SignTool (geliştiriciler için)
signtool verify /pa /v kurulum.exe
Çıktının sonunda "Successfully verified" yazmalıdır. SignTool, Windows SDK ile birlikte gelir.
Yöntem 4: Sigcheck
Microsoft Sysinternals'ın ücretsiz Sigcheck aracı, bir klasördeki tüm dosyaların imzasını tek komutla kontrol etmenizi sağlar:
sigcheck -a -h kurulum.exe
Sonuçlar ne anlama gelir?
| Sonuç | Anlamı | Ne yapmalısınız? |
|---|---|---|
| Bu dijital imza geçerli / Valid | Dosya imzalandığından beri değişmemiş, yayımcı doğrulanmış | Yayımcı adının beklediğiniz şirket olduğunu kontrol edin |
| Dijital İmzalar sekmesi yok / NotSigned | Dosya imzasız | Kaynağından emin değilseniz çalıştırmayın |
| Bu imza geçerli değil / HashMismatch | Dosya imzalandıktan sonra değiştirilmiş veya bozulmuş | Çalıştırmayın, resmi kaynaktan yeniden indirin |
| Sertifika iptal edilmiş | İmzalayan sertifika CA tarafından iptal edilmiş | Çalıştırmayın, üreticinin güncel sürümünü bekleyin |
| Sertifika zinciri güvenilir değil / UnknownError | Sertifika Windows'un güvenmediği bir otoriteden veya kendinden imzalı | Dikkatli olun; kurumsal bir iç uygulama değilse çalıştırmayın |
Önemli: "Geçerli" bir imza tek başına yeterli değildir. Saldırganlar da kendi adlarına sertifika alabilir. İmzalayanın beklediğiniz yayımcı olduğunu mutlaka kontrol edin.
macOS'te imza kontrolü
codesign -dv --verbose=4 /Applications/Uygulama.app
spctl -a -vv /Applications/Uygulama.app
spctl çıktısında "accepted" ve "Notarized Developer ID" ifadeleri, uygulamanın Apple tarafından imzalanıp onaylandığını gösterir. Uygulama açılmıyorsa: "Geliştirici doğrulanamadığı için açılamıyor" çözümü.
Linux ve diğer dosyalar
- GPG imzalı dosyalar:
gpg --verify dosya.sig dosya.tar.gz - Java JAR dosyaları:
jarsigner -verify -verbose uygulama.jar - Android APK:
apksigner verify --print-certs uygulama.apk - PDF belgeler: Adobe Acrobat Reader'da imza panelinden e-imzanın geçerliliğini görebilirsiniz.
Hash (SHA-256) kontrolü imzanın yerini tutar mı?
Bazı siteler dosyanın SHA-256 özetini yayınlar. Bu, dosyanın indirme sırasında bozulmadığını gösterir; ancak özet aynı siteden alındığı için, site ele geçirilirse hem dosya hem özet değiştirilebilir. Dijital imza ise yayımcının özel anahtarına bağlı olduğu için daha güçlü bir kanıttır.
Yazılım yayınlıyorsanız
Kullanıcılarınızın programınızı güvenle doğrulayabilmesi ve Windows'un "Bilinmeyen yayımcı" uyarısını göstermemesi için yazılımınızı bir kod imzalama sertifikasıyla imzalayın ve her imzaya zaman damgası ekleyin. Adımlar: SignTool ile EXE imzalama.
Sıkça Sorulan Sorular
İmzanın zaman damgası neden önemli?
Zaman damgası, imzanın sertifika geçerliyken atıldığını kanıtlar. Böylece sertifikanın süresi dolduktan sonra da imza geçerli görünmeye devam eder.
Bir dosyada birden fazla imza olabilir mi?
Evet. Özellikle eski ve yeni Windows sürümleriyle uyumluluk için dosyalar hem SHA-1 hem SHA-256 ile çift imzalanabilir. Dijital İmzalar sekmesinde birden fazla satır görebilirsiniz.



