Dual signing (çift imzalama), aynı dosyaya hem SHA-1 hem SHA-256 özetli iki imza eklemeyi anlatır. Bu yöntem, SHA-2 imzalarını tanımayan eski Windows sürümlerinin de dosyayı doğrulayabilmesi için geçiş döneminde kullanılırdı.
Bugün durum nedir?
- Güncel CA'lar kod imzalama için SHA-1 sertifikası vermez; yeni sertifikalar SHA-256 kullanır.
- Windows 10 ve 11 SHA-256 imzaları sorunsuz doğrular.
- Çift imza yalnızca Windows 7/Vista gibi güncellenmemiş eski sistemleri hedefleyen, uzun ömürlü yazılımlar için gündeme gelebilir ve bunun için ayrıca uygun eski sertifika gerekir.
Yeni bir yazılım için çoğu durumda yalnızca SHA-256 ile imzalamak doğrudur.
signtool ile mantık
İkinci imza birincisini silmemesi için /as (append signature) bayrağıyla eklenir:
signtool sign /fd SHA1 /t http://zamandamgasi.ornek.com /a uygulama.exe
signtool sign /fd SHA256 /tr http://time.certum.pl /td SHA256 /as /a uygulama.exe
İlk satırdaki SHA-1 imzası yalnızca elinizde SHA-1 destekli eski bir sertifika varsa anlamlıdır; sunucu adresi örnektir.
Doğrulama
signtool verify /pa /v /all uygulama.exe
/all dosyadaki tüm imzaları listeler; /v ayrıntılı zincir bilgisi verir. Çıktıda iki imza indeksi görmelisiniz.
Sık hatalar
/asunutulursa ikinci imza birincinin yerine geçer.- SHA-256 imzası atılmadan önce SHA-1 imzasının eklenmemesi; eski sistemler sıra beklentisi gösterebilir.
- Zaman damgasında da
/td SHA256kullanılmaması.
Karar rehberi
- Hedef kitleniz yalnızca güncel Windows sürümleriyse: tek SHA-256 imzası.
- Eski sistemlerde çalışması şart bir ürün varsa: önce hedef sistemin SHA-2 desteğini güncelleme ile sağlamayı değerlendirin.
- Çift imza gerekiyorsa her iki imzayı da ayrı ayrı doğrulayın ve test makinesinde çalıştırın.
Yeni projelerde tek SHA-256 imzası ve zaman damgası yeterlidir. Uygun sertifika seçimi için kod imzalama sayfasına, kavramsal arka plan için bilgi bankasına bakın.
Özet: Çift imza tarihsel bir uyumluluk çözümüdür. Bugün çoğu proje için SHA-256 tek imza ve zaman damgası yeterli, daha güvenli ve daha sade bir yoldur.