Kod İmzalama Sertifikaları Artık Çok Daha Uygun! — EV ve OV Kod İmzalama sertifikalarında özel kampanya fiyatları!
Anasayfa İ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 imzalama 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
CODESIGNING DigiCert

DigiCert Code Signing

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

€406,70 /yıl
Detaylar
CODESIGNING GlobalSign

GlobalSign Code Signing for HSM

GlobalSign Code Signing for HSM sertifikası ile kendi FIPS 140-2 uyumlu HSM donanımınız veya mevcut

€216,06 /yıl
Detaylar
CODESIGNING Sectigo

Sectigo OV Code Signing

Sectigo OV Kod İmzalama sertifikası. FIPS uyumlu USB token dahil. Microsoft Authenticode, Java JAR,

€309,26 /yıl
Detaylar

Yorumlar

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

Yorum Yaz