İçeriğe geç
  1. Ana Sayfa
  2. Blog
  3. Cloud İmzalama
  4. Cloud HSM ile CI/CD Pipeline Entegrasyonu: Adım Adım Rehber
Cloud İmzalama 4 dk okuma

Cloud HSM ile CI/CD Pipeline Entegrasyonu: Adım Adım Rehber

Cloud HSM kullanarak CI/CD pipeline'ınıza otomatik kod imzalama nasıl entegre edilir? GitHub Actions, Jenkins ve Azure DevOps için adım adım rehber.

Cloud HSM ile CI/CD Pipeline Entegrasyonu Rehberi

Modern yazılım geliştirme süreçlerinde CI/CD (Continuous Integration / Continuous Delivery) pipeline vazgeçilmezdir. Ancak build sürecinde kod imzalama adımını otomatikleştirmek, özellikle güvenlik gereksinimleri nedeniyle zorlu olabilir. Cloud HSM çözümleri, bu sorunu kökten çözer.

Bu rehberde, Cloud HSM kullanarak GitHub Actions, Jenkins ve Azure DevOps pipeline'larında otomatik kod imzalama entegrasyonunu adım adım anlatıyoruz.

Neden CI/CD'de Cloud HSM?

Geleneksel USB token ile CI/CD ortamında imzalama yapmak neredeyse imkansızdır çünkü:

  • Token'ın fiziksel olarak build sunucusuna bağlı olması gerekir
  • Bulut tabanlı CI/CD runner'larda USB port erişimi yoktur
  • Her build'de PIN girişi otomatikleştirilemez
  • Token tek bir lokasyona bağlıdır

Cloud HSM bu kısıtlamaların tamamını ortadan kaldırır. API tabanlı imzalama sayesinde herhangi bir CI/CD ortamından güvenli şekilde imzalama yapılabilir.

Genel Mimari

Cloud HSM ile CI/CD entegrasyonunun genel mimarisi şu şekildedir:

  1. Build Aşaması: Uygulama kodunuz derlenir ve çalıştırılabilir dosya oluşturulur
  2. İmzalama Aşaması: Oluşturulan dosyanın hash'i Cloud HSM'e gönderilir
  3. HSM İmzalama: HSM, hash'i özel anahtar ile imzalar ve imzayı döner
  4. Zaman Damgası: İmzaya RFC 3161 uyumlu zaman damgası eklenir
  5. Doğrulama: İmzalanmış dosya otomatik doğrulanır
  6. Dağıtım: İmzalanmış dosya release olarak yayınlanır

1. GitHub Actions Entegrasyonu

GitHub Actions, en popüler CI/CD platformlarından biridir. Cloud HSM entegrasyonu için:

Ön Hazırlık

  • Cloud kod imzalama sertifikanızı edinmiş olmalısınız
  • HSM sağlayıcınızın CLI aracını kurmuş olmalısınız
  • GitHub repository secrets'a kimlik bilgilerini eklemiş olmalısınız

Workflow Dosyası (.github/workflows/sign.yml)

name: Build and Sign
on:
  push:
    tags: ['v*']

jobs:
  build-and-sign:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Build Application
        run: dotnet publish -c Release -o ./output
      
      - name: Install Signing Tool
        run: |
          choco install signtool -y
      
      - name: Sign with Cloud HSM
        env:
          HSM_CREDENTIAL_ID: ${{ secrets.HSM_CREDENTIAL_ID }}
          HSM_API_KEY: ${{ secrets.HSM_API_KEY }}
        run: |
          signtool sign /sha1 ${{ secrets.CERT_THUMBPRINT }} ^
            /tr http://timestamp.digicert.com /td sha256 ^
            /fd sha256 ./output/MyApp.exe
      
      - name: Verify Signature
        run: signtool verify /pa ./output/MyApp.exe

2. Jenkins Entegrasyonu

Jenkins ile Cloud HSM entegrasyonu için Jenkinsfile kullanılır:

Jenkinsfile Örneği

pipeline {
    agent { label 'windows' }
    
    environment {
        HSM_CREDENTIALS = credentials('cloud-hsm-creds')
    }
    
    stages {
        stage('Build') {
            steps {
                bat 'msbuild /p:Configuration=Release MyProject.sln'
            }
        }
        stage('Sign') {
            steps {
                bat '''
                    signtool sign /sha1 %CERT_THUMBPRINT% ^
                    /tr http://timestamp.digicert.com ^
                    /td sha256 /fd sha256 ^
                    bin\\Release\\MyApp.exe
                '''
            }
        }
        stage('Verify') {
            steps {
                bat 'signtool verify /pa bin\\Release\\MyApp.exe'
            }
        }
    }
}

3. Azure DevOps Entegrasyonu

Azure DevOps Pipeline ile Cloud HSM kullanımı:

trigger:
  tags:
    include: ['v*']

pool:
  vmImage: 'windows-latest'

steps:
  - task: DotNetCoreCLI@2
    inputs:
      command: 'publish'
      arguments: '-c Release -o $(Build.ArtifactStagingDirectory)'
  
  - task: PowerShell@2
    displayName: 'Sign with Cloud HSM'
    inputs:
      targetType: 'inline'
      script: |
        signtool sign /sha1 $(CertThumbprint) `
          /tr http://timestamp.digicert.com `
          /td sha256 /fd sha256 `
          "$(Build.ArtifactStagingDirectory)\MyApp.exe"

Güvenlik En İyi Uygulamaları

  • Secret Management: HSM kimlik bilgilerini asla kodda saklamayın. CI/CD platformunun secret yönetimini kullanın
  • IP Kısıtlama: HSM'e erişimi CI/CD runner IP'leriyle sınırlandırın
  • Denetim Günlükleri: Her imzalama işlemini loglayın ve düzenli olarak audit yapın
  • Zaman Damgası: Her zaman RFC 3161 uyumlu zaman damgası kullanın
  • İmza Doğrulama: Pipeline'da imzalama sonrası mutlaka doğrulama adımı ekleyin
  • Least Privilege: CI/CD service account'a sadece imzalama izni verin

Sık Yapılan Hatalar

  1. Zaman damgası kullanmamak: Sertifika süresi dolunca imzalar geçersiz olur
  2. SHA-1 kullanmak: Mutlaka SHA-256 veya üstü algoritma kullanın
  3. Secret'ları loglamak: Build loglarında kimlik bilgilerinin görünmediğinden emin olun
  4. Doğrulama atlamak: İmzalama sonrası signtool verify adımını mutlaka çalıştırın

Sonuç

Cloud HSM, CI/CD pipeline'larında otomatik kod imzalama için en güvenli ve pratik çözümdür. Doğru yapılandırma ile build sürecinize dakikalar içinde entegre edebilir, her release'i otomatik olarak imzalayabilirsiniz.

Cloud HSM destekli kod imzalama sertifikaları için Cloud Kod İmzalama sayfamıza göz atın.

Yazar Ali Yiğit

10 Nisan 2026 · 4 dk okuma

Sertifikalar

Önerilen kod imzalama sertifikaları

Tüm ürünler
DigiCert Cloud OV

DigiCert Cloud OV Kod İmzalama

1-3 İş Günü Kuruluş doğrulaması

  • OV Kuruluş Doğrulaması
  • DigiCert Trusted Root Güvencesi
  • Microsoft Authenticode (.exe, .dll, .msi, .cab, .ocx, .sys)
$580,00 %8 indirim $534,00 /yıl
DigiCert Cloud EV

DigiCert Cloud EV Kod İmzalama

1-5 İş Günü Kernel sürücü & WHQL

  • EV Genişletilmiş Doğrulama
  • DigiCert Premium Güvence
  • Microsoft SmartScreen Uyumlu İmza
$1.275,00 %33 indirim $850,00 /yıl
Certum Cloud OV

Certum Standard Cloud Kod İmzalama

1-5 İş Günü Kuruluş doğrulaması

  • Kuruluş (OV) veya bireysel doğrulama
  • Şirketlere, şahıs firmalarına ve bireysel geliştiricilere verilir
  • SimplySign bulut imza — USB token veya kart okuyucu gerekmez
$256,00 %30 indirim $180,00 /yıl
Yorumlar

Yorumlar

Sorularınızı ve deneyimlerinizi paylaşın.

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

Yorum yazın

Yorumlar onaylandıktan sonra yayınlanır. E-posta adresiniz yayınlanmaz.

Destek

Sorunuz mu var?

Kod imzalama sertifikası seçimi ve kurulumu için uzman ekibimize ulaşın.