Kod imzalama sertifikanızı kendiniz oluşturun


Kod imzalama sertifikanızı kendiniz oluşturun
Eğer kodlama biliyorsanız kendi yazılımlarınızı kendiniz oluşturabilirsiniz peki ama bu yazılım veya yazılımları internet ortamında paylaşmayı düşünüyorsanız bu durumda bir code signing certificate kullanmanız

faydalı olacaktır. Türkçeye Kod imzalama Sertifikası olarak çevrilmiş olan "code signing certificate" Kodların yazar tarafından imzalandığından beri değiştirilmediğini veya bozulmadığını doğrulayan, sertifika tabanlı dijital imza algoritmasıdır. Bu, kullanıcıların ve diğer yazılımların, yazılımın güvenilir olup olmayacağını belirlemelerine yardımcı olur.

Mesela Sordum.org a ait görünen bir yazılımı bir download sitesinden indirdiniz bu yazılımın gerçekten Sordum tarafından kodlandığına nasıl emin olabilirsiniz ? belkide birisi aynı isimde bir exe yaptı ve içinde sisteminizi kullanılmaz hale getirecek bir zararlı yerleştirdi , İşte bu gibi durumlar için Kod İmzalama (Code signing) mekanizması yardımınıza koşmakta ve yazılımın kim tarafından kodlandığı bilgisini size sunmaktadır. İnternet üzerinde biraz araştırma yaptığınızda mesela antivirüs veya SSL sağlayıcı firmaların bu sertifikaları sattığını görürsünüz. bunların fiyatları da genelde 150 - 750 $ yıllıktır. Peki ama kendimiz bir sertifika oluşturamazmıyız işte aşağıdaki makalemizde bu sorunun cevabını bulacaksınız.

Ücretsiz Kendinize ait Kod imzalama sertifikanızı oluşturun

Eğer Windows 8.1 , Windows Server 2012, Windows Server 2012 R2 yada daha üst sürüm bir windows işletim sistemi kullanıyorsanız bu durumda kendi sertifikanızı Powershell ile oluşturmanız gerekecektir. Eğer windows 7 veya daha düşük bir sürüm kullanıyorsanız bu durumda "MakeCert" aracını kullanmanız gerekecektir. Aşağıdaki anlatım Windows 10 1903 üzerinden yapılacaktır. Powershell i çalıştıralım ve sırası ile aşağıdaki komutları sırası ile uygulayalım

1. Powershell konsolunu Yönetici yetkileri ile çalıştırın (Çok önemli) ve Sertifikayı oluşturmak için aşağıdaki komutu kullanın (websiteniz.com yerine kendi web sayfanızı yazınız)

$cert = New-SelfSignedCertificate -DnsName www.websiteniz.com -Type CodeSigning -CertStoreLocation Cert:\CurrentUser\My

2. Sertifikanız için bir şifre belirleyin , KOddaki Şifre belirle kısmına bir şifre giriniz.

$CertPassword = ConvertTo-SecureString -String "Şifre belirle" -Force –AsPlainText

3. Pfx olarak dışa aktaralım (Export)

Export-PfxCertificate -Cert "cert:\CurrentUser\My\$($cert.Thumbprint)" -FilePath "d:\selfsigncert.pfx" -Password $CertPassword

Komutları sırası ile uyguladığınızda Powershell konsolunda aşağıdaki gibi bir çıktı oluşacaktır.

Powershell ile kod imza sertifikası oluştur

Bendeki Windows 10 1903 te üstteki 3. komuttan sonra F dizinimde "selfsigncert.pfx" dosyası oluştu . İşlemi diğer domain içinde tekrarladım ve aşağıdaki resimdede gördüğünüz üzere .pfx uzantılı code signing certicificate lerim oluşmuş oldu.

code signing certificate

Eğer sizde bir şekilde üstteki adımlarda hata verirse (Ki Powershell asla düzgün çalışan bir konsol değildir , olmadık hatalar türetir). Bu durumda izleyebileceğiniz yöntem . crt dosyasını oluşturup bunu .pfx e dönüştürmek olmalıdır.

Powershell de Crt dosyası oluşturma kodu (Privat key olmadan export)

Üstteki ilk iki kodda hata almanız neredeyse imkansız ama 3. export kodu bazen sorun çıkartabiliyor bu durumda aşağıdaki kodu uygulayın

Export-Certificate -Cert (Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert)[0] -FilePath code_signing.crt

Resimdeki gibi bir çıktı verecektir.

crt dosyası oluşturduk

Yani C:\ dizinimde "code_signing.crt" dosyası oluştu

Crt dosyası oluştu

Eğer oluşan .Crt dosyasını Trusted publisher olarak import etmek isterseniz aşağıdaki kodu kullanabilirsiniz.

Import-Certificate -FilePath .\code_signing.crt -Cert Cert:\CurrentUser\TrustedPublisher

Elinizdeki bu .Crt veya .Pfx dosyalarını yazılımları kodladıktan sonra imzalamak için kullanabilirsiniz . Eğer Shared bir hosttaysanız ve bir SSL sertifikanız yoksa Hostunuz ile bağlantı kurduğunuzda size .Pfx dosyası oluşturmayacaklardır sebebi ise bu dosyayı oluşturabilmeleri için bir SSL Satın alma koşulu öne sürmeleridir. Üstteki yöntemle Ücretsiz kendi sertifikamızı oluşturmuş olduk Eğer elinizde bir domainde yoksa domain yerine local hostunuzun İp adresini kullanmayı deneyim (192.168.1 ...). Artık oluşturduğunuz exe lere sağ tıklayıp özellikler dediğinizde dijital imza sekmesi belirecek ve herkes bu yazılımın aynı kişi tarafından kodlandığını anlayacaktır.

Dijital imzalı exe

Code signing certificate ler sahte virüs uyarılarının bir kısmını azaltsada tamamen ortadan kaldırmaz. Eğer kendinize ait bir SSL sertifikanız varsa aşağıdaki kodları kullanarak Apache serverde .crt veya .pfx dosyalarını edinebilirsiniz.

openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt

Üreticileri Kod imzası satın almaya zorlayarak aslında bir tür emek sömürüsü yapılıyor. Dedikleri şey biz size güvenilirlik satalım . Yazılımcılar çalışıp güven sertifikası satanlara para kazandıracak vay be düzene bak.

- Freeware Shareware gibi kavramlar nedir Burada

- bat dosyasını .exe ye çevirelim (adım adım resimli) Burada

- Powershell scriptlerini .exe yapalım Burada

- Registry dosyalarını kolayca vbs veya bat a çevirelim Burada

- vbs dosyasını .exe yapmak için ücretsiz programlar Burada

- Autoit te VBscriptleri exe halinde paketlemek Burada

- Autohotkey kodlarını exe haline getirelim Burada


10 Yorum Var

Yorum Ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Captcha