Türkiye'de İlk! — Cloud OV/EV Kod İmzamala Sertifikaları !
Anasayfa Cloud Kod İmzalama Yeni İmzalama Araçları Yeni İletişim
Platform Rehberleri

PowerShell ile Kod İmzalama Nasıl Yapılır?

PowerShell scriptlerini kod imzalama sertifikası ile nasıl imzalarsınız? Set-AuthenticodeSignature kullanımı ve execution policy rehberi.

10 dk okuma

PowerShell ile Kod İmzalama Nasıl Yapılır?

PowerShell scriptlerinin imzalanması, kurumsal ortamlarda güvenlik politikalarının temel bir parçasıdır. Windows Execution Policy, imzalanmamış scriptlerin çalıştırılmasını engelleyebilir. Bu rehberde PowerShell scriptlerini kod imzalama sertifikası ile nasıl imzalayacağınızı öğreneceksiniz.

PowerShell Kod İmzalama Rehberi

Neden PowerShell Scriptlerini İmzalamalısınız?

  • Execution Policy uyumluluğu: AllSigned veya RemoteSigned politikalarında gerekli
  • Script bütünlüğü: Scriptin değiştirilmediğini garanti eder
  • Kimlik doğrulama: Scriptin kim tarafından yazıldığını kanıtlar
  • Kurumsal zorunluluk: IT politikaları genellikle imzalı script gerektirir

PowerShell Execution Policy Seviyeleri

Policy Açıklama İmza Gerekli mi?
RestrictedScript çalıştırma engelli-
AllSignedTüm scriptler imzalı olmalı✅ Evet
RemoteSignedİndirilen scriptler imzalı olmalı⚠️ Kısmen
UnrestrictedKısıtlama yok❌ Hayır

Adım 1: Sertifika Hazırlığı

Sertifikanızı Windows sertifika deposuna yükleyin:

# PFX dosyasını sertifika deposuna aktar
Import-PfxCertificate -FilePath "C:\sertifika\codesigning.pfx" -CertStoreLocation Cert:\CurrentUser\My -Password (ConvertTo-SecureString -String "sifre123" -AsPlainText -Force)

Adım 2: Sertifikayı Seçme

# Kod İmzalama sertifikalarını listele
$cert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert
$cert | Format-Table Subject, Thumbprint, NotAfter

# Belirli sertifikayı seç
$cert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Where-Object { $_.Subject -like "*Şirket Adı*" }
PowerShell Sertifika Seçimi

Adım 3: Script İmzalama

# PowerShell scriptini imzala
Set-AuthenticodeSignature -FilePath "C:\scripts\myscript.ps1" -Certificate $cert -TimestampServer "http://timestamp.digicert.com" -HashAlgorithm SHA256

Başarılı çıktı:

    Directory: C:\scripts

SignerCertificate                         Status    Path
-----------------                         ------    ----
ABCDEF1234567890                          Valid     myscript.ps1

Adım 4: İmza Doğrulama

# İmzayı doğrula
Get-AuthenticodeSignature -FilePath "C:\scripts\myscript.ps1"

# Detaylı doğrulama
$sig = Get-AuthenticodeSignature "C:\scripts\myscript.ps1"
$sig.SignerCertificate | Format-List Subject, Issuer, NotBefore, NotAfter

Toplu Script İmzalama

# Klasördeki tüm PS1 dosyalarını imzala
$cert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1

Get-ChildItem "C:\scripts\*.ps1" -Recurse | ForEach-Object {
    Set-AuthenticodeSignature -FilePath $_.FullName -Certificate $cert -TimestampServer "http://timestamp.digicert.com" -HashAlgorithm SHA256
    Write-Host "Signed: $($_.Name)"
}
PowerShell Toplu Script İmzalama

PowerShell Module İmzalama

PowerShell modüllerini imzalamak için modüldeki tüm PS1, PSM1 ve PSD1 dosyalarını imzalamanız gerekir:

# Modül dosyalarını imzala
Get-ChildItem "C:\Modules\MyModule" -Include *.ps1,*.psm1,*.psd1 -Recurse | ForEach-Object {
    Set-AuthenticodeSignature $_.FullName $cert -TimestampServer "http://timestamp.digicert.com" -HashAlgorithm SHA256
}

İpuçları

  1. Timestamp her zaman ekleyin: Sertifika süresi dolsa bile imza geçerli kalır
  2. SHA-256 kullanın: SHA-1 güvenli değildir
  3. Script düzenlerseniz tekrar imzalayın: Her değişiklik imzayı geçersiz kılar
  4. CI/CD entegrasyonu: Build pipeline'ınızda otomatik imzalama ekleyin

Sonuç

PowerShell script imzalama, Set-AuthenticodeSignature cmdlet'i ile oldukça basittir. Kurumsal güvenlik politikalarına uyum sağlamak ve scriptlerinizin güvenilirliğini artırmak için kod imzalama sertifikası kullanın.

PowerShell scriptlerinizi imzalamak için sertifika edinin →

Bu yazıyı paylaş
Yazar

Ali Yiğit

Önerilen Kod İmzalama Sertifikaları

Tüm Ürünler
CLOUDCODESIGNING DigiCert

DigiCert Cloud EV Kod İmzalama

DigiCert EV Cloud Kod İmzalama. SmartScreen anında itibar, WHQL portal erişimi, kernel-mode driver i

$850,00 /yıl
Detaylar
CLOUDCODESIGNING DigiCert

DigiCert Cloud OV Kod İmzalama

DigiCert OV Cloud Kod İmzalama. Dünyanın en güvenilir CA'sından Authenticode, Java JAR, Office VBA d

$534,00 /yıl
Detaylar

Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Yorum Yaz