bg-tutorials

Kod İmzalama Sertifikası Kullanarak EXE Dosyası Nasıl İmzalanır?

Exe Dosyasını İmzala

Windows için yazılım geliştiriyor veya dağıtıyorsanız, bir EXE dosyasının nasıl imzalanacağını bilmek uygulamalarınızın güvenilir olmasını ve güvenlik uyarıları içermemesini sağlar. Kod imzalama, yürütülebilir bir dosyanın gerçekliğini ve bütünlüğünü doğrulayarak kullanıcılara yazılımın meşru bir kaynaktan geldiğini ve üzerinde oynanmadığını garanti eder. Geçerli bir dijital imza olmadan Windows uygulamayı engelleyebilir veya güvenlik uyarıları görüntüleyerek kullanıcıların güvenini kazanmayı zorlaştırabilir.

Bu makalede, bir yürütülebilir dosyanın nasıl imzalanacağı, gereksinimler ve adım adım talimatlardan doğrulamaya ve bir EXE dosyasını imzalamanın faydalarına kadar her şey açıklanmaktadır.

Bu kılavuzun sonunda, bir kod imzalama sertifikasınınasıl edinip yükleyeceğinizi, bir EXE dosyasını imzalamak için Microsoft’un signtool.exe dosyasını nasıl kullanacağınızıve yürütülebilir dosyanızın doğru şekilde imzalandığını nasıl doğrulayacağınızı öğreneceksiniz. Hadi başlayalım.


Bir EXE veya Uygulamayı İmzalamadan Önce Gerekenler

Bir EXE dosyasını imzalamadan önce doğru araçlara ve kuruluma sahip olmanız gerekir. Kod imzalama yalnızca dijital imza uygulamaktan ibaret değildir. Geçerli bir sertifika, güvenli anahtar depolama ve uygun imzalama yazılımı gerektirir. Aşağıda, doğru sertifikayı seçmekten gerekli yazılımı kurmaya kadar her şeyi kapsayan temel gereksinimleri adım adım inceleyeceğiz.

1. Kod İmzalama Sertifikası Alın

Öncelikle, aşağıdaki gibi güvenilir bir Sertifika Yetkilisi (CA) tarafından verilen bir kod imzalama sertifikasına ihtiyacınız vardır DigiCert veya Sectigo. Bu sertifika, bir yazılım yayıncısı olarak kimliğinizi doğrular.

1 Haziran 2023 tarihinden itibaren tüm kod imzalama sertifikalarının özel anahtarı güvenli donanımda saklaması gerekmektedir. Sonuç olarak, özel anahtarı yerel bilgisayarınızda oluşturamaz veya saklayamazsınız. Bunun yerine, SafeNet USB belirteci veya Donanım Güvenlik Modülü (HSM) gibi FIPS 140-2 Seviye 2+ onaylı bir cihazda saklanmalıdır.

DigiCert ve GoGetSSL kod imzalama sertifikaları, CA tarafından sağlanan bir donanım belirteci veya kendi desteklenen donanım cihazınızı kullanıp kullanmadığınıza bakılmaksızın bir yıl süreyle verilir. Sectigo/Comodo sertifikaları farklı bir model izler ve yalnızca kendi donanım modülünüzü kullanırken çok yıllı planlara (üç yıla kadar) izin verir.

Seçtiğiniz sertifika türü, anahtar depolamayı nasıl ele alacağınızı etkiler:

  • EV Kod İmzalama Sertifikaları her zaman CA tarafından verilen bir SafeNet USB belirteci ile birlikte gelir. Bu fiziksel aygıt özel anahtarınızı tutar ve bir EXE dosyasını her imzaladığınızda gereklidir.
  • Standart Kod İmzalama Sertifikaları bir USB belirteci içermez. Bunun yerine, bulut tabanlı bir imzalama hizmeti ( DigiCert’in KeyLocker‘ı gibi) kullanabilir veya CA’nız izin veriyorsa özel anahtarı kendi HSM ‘nizde saklayabilirsiniz.

2. İmzalama Ortamınızı Kurun

Sertifikanızı ve güvenli depolama cihazınızı aldıktan sonra doğru araçlara ihtiyacınız var. Windows SDK (Yazılım Geliştirme Kiti) dijital imzayı uygulamak için kullanacağınız gerekli imzalama yardımcı programı olan signtool.exe‘yi içerir. Henüz yüklü değilse, Microsoft’un resmi web sitesinden en son sürümü indirebilirsiniz.

Signtool Yükleyici

EV Code Signing sertifikası kullanıyorsanız SafeNet Authentication Client yazılımını da yüklemeniz gerekir. Bu, sisteminizin USB belirteci ile iletişim kurmasını ve özel anahtarı güvenli bir şekilde almasını sağlar. Bir HSM ile imzalama yapıyorsanız cihazın uygun şekilde ayarlandığından ve sertifikanıza imzalama ortamınızdan erişilebildiğinden emin olun.

Safenet

Ayrıca bilgisayarınızda yönetici ayrıcalıklarına sahip olmanız gerekir. Kod imzalama yükseltilmiş izinler gerektirir, bu nedenle herhangi bir imzalama komutunu çalıştırmadan önce Komut İstemi veya PowerShell ‘i yönetici olarak çalıştırın.


3. Zaman Damgası Neden Önemlidir?

İmzalama sürecinin önemli bir parçası, sertifikanızın süresi dolduktan sonra bile dijital imzanızın geçerli kalmasını sağlayan zaman damgasıdır. Zaman damgası olmadan, sertifika son kullanma tarihine ulaştığında Windows imzalı EXE’nizi güvenilmez olarak değerlendirecektir.

Dosyanızı imzaladığınızda, imzalama aracı imzalama tarih ve saatini tam olarak kaydeden bir zaman damgası sunucusuyla bağlantı kurar. Bu, dosyanızın sertifika hala geçerliyken imzalandığını kanıtlar. CA’ların çoğu zaman damgası hizmetlerini ücretsiz olarak sağlar. Bir zaman damgası eklemezseniz, kullanıcılar süresi dolmuş bir imzayla ilgili uyarılar görür ve uygulamanızın güvensiz görünmesine neden olur.


4. İmzalamadan Önce Son Hazırlıklar

EXE’nizi imzalamadan önce, imzalama araçlarınızın, sürücülerinizin ve güvenli depolama aygıtınızın doğru şekilde kurulduğunu iki kez kontrol edin. HSM kullanıyorsanız, anahtarın erişilebilir olduğunu ve düzgün yapılandırıldığını doğrulayın. SafeNet USB belirteci kullanıyorsanız, belirtecin takılı olduğundan ve SafeNet Kimlik Doğrulama İstemcisinin çalıştığından emin olun.

Her şey yerli yerindeyken EXE dosyanızı imzalamaya hazırsınız. İşlem başlangıçta karmaşık görünebilir, ancak bu adımları izleyerek yazılımınıza Windows tarafından güvenilmesini sağlayabilir, güvenlik uyarılarını önleyebilir ve kullanıcılara uygulamanızın güvenli bir şekilde yüklenebileceği konusunda güvence verebilirsiniz.


Bir EXE Dosyasını İmzalamak için Adım Adım Kılavuz

Aşağıda, gelişmiş güvenlik için artık bir donanım güvenlik modülünde (HSM) veya USB belirtecinde saklanması gereken bir EXE’nin imzalanmasına ilişkin ayrıntılı ve güncel bir kılavuz yer almaktadır.

Adım 1: HSM veya USB Belirteçinizi Takın

Bir EXE’yi imzalamadan önce, kod imzalama sertifikanızı ve özel anahtarınızı içeren donanım belirtecini veya HSM’yi bağlamanız gerekir. Sertifika Yetkilileri artık tüm kod imzalama sertifikalarının SafeNet USB belirteci veya YubiKey HSM gibi FIPS 140-2 Seviye 2 onaylı cihazlarda saklanmasını gerektirmektedir.

Donanım tokenınızı bağlama adımları:

  1. HSM veya USB belirtecini Windows makinenizetakın .
  2. İstenirse, gerekli sürücüleri yükleyin (çoğu aygıt otomatik olarak yüklenir ).
  3. SafeNet Kimlik Doğrulama İstemcisinin veya gerekli HSM yazılımının kurulu olduğundan emin olun.

Bulut tabanlı bir HSM ( Azure Key Vault veya AWS CloudHSM gibi) kullanıyorsanız, devam etmeden önce kimlik bilgilerinizin doğru ayarlandığından emin olun.


Adım 2: Komut İstemi’ni Yönetici Olarak Açın

İmzalama sistem izinleri gerektirdiğinden, yönetici haklarına sahip Komut İstemi (cmd.exe) veya PowerShell kullanmanız gerekir.

Komut İstemi’ni Yönetici olarak açma adımları:

  1. Başlat menüsüne tıklayın ve cmd yazın.
  2. Komut İstemi ‘ne sağ tıklayın ve Yönetici olarak çalıştır‘ı seçin.

Alternatif olarak, PowerShell‘i tercih ediyorsanız, aynı adımları izleyin ancak bunun yerine PowerShell yazın.


Adım 3: SignTool’u bulun

SignTool, Windows SDK‘da bulunan ve yürütülebilir dosyaları imzalamak için gerekli olan bir Microsoft yardımcı programıdır.

Sisteminizde SignTool’u bulma:

SignTool’un konumu, yüklü Windows SDK sürümünüze bağlıdır. İçinde bulabilirsiniz:

C:\Program Files (x86)\Windows

Kits\10\bin\10.0.22621.0\x64\signtool.exe

Gerekirse 10.0.22621.0 sürümünü kurulu SDK sürümünüzle değiştirin.

Signtool Yolu

Adım 4: EXE’yi SignTool Kullanarak İmzalayın

Artık her şey ayarlandığına göre, EXE dosyanızı SignTool kullanarak imzalayabilirsiniz. Aşağıda zaman damgası ile imzalama için doğru komutun bir örneği bulunmaktadır. Buna göre ayarlayın.

signtool sign /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 /a "C:\path\to\yourfile.exe"

Komutun açıklaması:

  • /tr http://timestamp.digicert.com – RFC 3161 zaman damgası sunucusu URL’sini belirtir (CA’nızın sunucusu ile değiştirin).
  • /td SHA256 – SHA-256’yı zaman damgası özet algoritması olarak ayarlar.
  • /fd SHA256 – Dosya özet algoritması olarak SHA-256 belirtir (modern Windows sürümleri bunu gerektirir).
  • /a – Doğru kod imzalama sertifikasını otomatik olarak seçer.
  • “C:\path\to\yourfile.exe” – EXE dosyanızın gerçek yolu ile değiştirin.

Adım 5: Parolayı Girin (Gerekiyorsa)

HSM veya USB belirteciniz kimlik doğrulaması gerektiriyorsa, parolanızı veya PIN kodunuzu soran bir açılır pencere görüntülenir.

Sırada ne var?

  • SafeNet token’ınızın (veya başka bir HSM’nin) parolasını girin.
  • Birden fazla sertifikanız varsa SignTool sizden doğru sertifikayı seçmenizi isteyebilir.

Not: Bulut tabanlı bir HSM kullanıyorsanız, bunun yerine API kimlik bilgileri veya güvenli bir PIN ile kimlik doğrulaması yapmanız gerekebilir.


İmzalı EXE Dosyasını Doğrulayın

EXE’nizi imzaladıktan sonra, imzanın düzgün bir şekilde uygulandığını ve bir zaman damgası içerdiğini doğrulayın. Bunu şu şekilde doğrulayabilirsiniz:

1. Dosya Özelliklerini Kontrol Edin

  1. İmzalı EXE dosyasını bilgisayarınızda bulun.
  2. Dosyaya sağ tıklayın ve Özellikler‘i seçin.
  3. Dijital İmzalar sekmesine gidin.
  4. İmzalama başarılı olduysa, imzanın bir zaman damgasıyla birlikte listelendiğini göreceksiniz. Mesajda Bu dijital imza tamam yazdığını onaylamak için Ayrıntılar ‘a tıklayın.

2. Doğrulama için Poweshell kullanın

Daha derin bir kontrol için Windows Powershell’i kullanabilirsiniz.

  1. PowerShell ‘i açın (Win + X → PowerShell ).
  2. Komutu çalıştırın:

    Get-AuthenticodeSignature "C:\Windows\System32\cmd.exe"

    Powershell İmza Doğrulama

“cmd/exe” yerine exe dosyanızı yazın.

Bu, sertifika zinciri ve zaman damgası da dahil olmak üzere imzayla ilgili ayrıntıları görüntüler. İmza geçersiz veya eksikse, Windows bunu işaretleyecektir.

3. Başka Bir Sistemde Test Edin

Daha fazla güvence için, imzalı EXE’yi farklı bir bilgisayara indirip çalıştırmayı deneyin. Her şey doğruysa, Windows güvenlik uyarıları göstermeden bunu güvenilir bir uygulama olarak tanımalıdır. Bu adımları izleyerek EXE’nizin doğru şekilde imzalandığından ve güvenli dağıtım için hazır olduğundan emin olabilirsiniz.


Bir EXE Dosyasını Neden İmzalamalısınız?

Windows uygulama imzalama sadece güvenlikle ilgili değildir; güven, koruma ve yazılımınızın sorunsuz çalışmasını sağlamakla ilgilidir. İşte yürütülebilir bir dosyayı imzalamak için birkaç neden:

  • Kullanıcılar imzalı yazılımlara güvenir. Bir EXE dosyası imzalanmadığında, Windows güvenlik uyarıları verir ve bazı sistemler bu dosyayı tamamen engelleyebilir. Güvenilir bir Sertifika Yetkilisinden alınan doğrulanmış bir imza, kullanıcılara dosyanın güvenli olduğu ve üzerinde oynanmadığı konusunda güvence verir.
  • Yetkisiz değişiklikleri önler. Bir EXE imzalandıktan sonra mühürlü bir paket gibi davranır. Birisi kötü amaçlı yazılım enjekte etmek veya kodu değiştirmek için değiştirmeye çalışırsa, imza bozulur ve Windows dosyayı güvenilmeyen olarak işaretler.
  • Microsoft SmartScreen uyarılarını azaltır. SmartScreen imzasız yazılımlara karşı agresiftir ve kullanıcıların yükleme konusunda tereddüt etmesine neden olan uyarılar gösterir. EXE’nizi, özellikle de Genişletilmiş Doğrulama (EV) Kod İmzalama sertifikasıyla imzalamak, bu uyarıları önemli ölçüde azaltır ve yüklemeleri daha sorunsuz hale getirir.
  • Kurumsal dağıtım için çok önemlidir. Birçok kurumsal ortam imzasız yazılımların ağlarında çalışmasını engeller. İmzalı bir EXE, güvenlik politikalarını karşılayarak sorunsuz bir şekilde dağıtılabilmesini sağlar.
  • Zaman damgası imzanın geçerli kalmasını sağlar. Zaman damgası olmadan, sertifikanın süresi dolduğu anda imza geçersiz hale gelir. Bir zaman damgası ile imza, süresi dolduktan sonra bile geçerli kalır ve yazılımınızın çalışmaya devam etmesini sağlar.

EXE’nizi Güvenle İmzalayın – Kod İmzalama Sertifikası Alın

Bir exe dosyasını nasıl imzalayacağınızı ve yazılımınızı güvenlik uyarılarından nasıl koruyacağınızı öğrendikten sonra, bir sonraki adım uygun Kod İmzalama sertifikasını almaktır. İster bağımsız bir geliştirici ister bir işletme olun, EXE’nizi imzalamak güven, sorunsuz kurulumlar ve kurcalamaya karşı koruma sağlar. Geçerli bir imza olmadan Windows yazılımınızı işaretleyerek kullanıcıların yazılımı yüklemesini ve çalıştırmasını zorlaştırır.

SSL Dragon‘da, DigiCert, Sectigo ve GoGetSSL gibi en iyi sağlayıcılardan OV ve EV Kod İmzalama Sertifikaları sunuyoruz. Basit bir çözüme mi ihtiyacınız var? Bireysel veya kurumsal doğrulamayı tercih edin. Daha güçlü bir itibar ve daha az SmartScreen uyarısı mı istiyorsunuz? Genişletilmiş Doğrulama tam size göre. Seçiminizi yapın, yazılımınızı güvenle imzalayın ve güvenlik uyarılarını geçmişte bırakın.

Bugün SSL Dragon’dan sipariş vererek SSL Sertifikalarında %10 indirimden yararlanın!

Hızlı düzenleme, güçlü şifreleme, %99,99 tarayıcı güvenilirliği, özel destek ve 25 günlük para iade garantisi. Kupon kodu: SAVE10

A detailed image of a dragon in flight
Tarafından yazıldı

SSL Sertifikaları konusunda uzmanlaşmış deneyimli içerik yazarı. Karmaşık siber güvenlik konularını açık, ilgi çekici içeriğe dönüştürmek. Etkili anlatımlar yoluyla dijital güvenliğin geliştirilmesine katkıda bulunun.