Kod İmzalama Sertifikaları Artık Çok Daha Uygun! — EV ve OV Kod İmzalama sertifikalarında özel kampanya fiyatları!
Anasayfa İletişim
Platform Rehberleri

Cloud Kod İmzalama API Kullanımı (Developer Rehberi)

Cloud Kod İmzalama API kullanımı adım adım developer rehberi. REST API, PKCS#11, SignTool entegrasyonu ve CI/CD pipeline örnekleri.

3 dk okuma

Cloud Kod İmzalama sertifikanızı aldınız, şimdi API ile entegrasyon zamanı. Bu rehberde SignTool, REST API ve PKCS#11 kullanarak cloud imzalama yapmayı ve CI/CD pipeline entegrasyonunu anlatıyoruz.

İmzalama Yöntemleri

YöntemKullanım AlanıZorluk
SignTool + Platform ClientManuel ve basit otomasyon⭐ Kolay
PKCS#11 LibraryCross-platform, native entegrasyon⭐⭐ Orta
REST APITam programatik kontrol⭐⭐⭐ İleri

Yöntem 1: SignTool ile Cloud İmzalama

En basit yöntem. Platform istemcisini (SimplySign, KeyLocker) kurarsınız ve SignTool normal şekilde çalışır.

Certum SimplySign ile SignTool

# 1. SimplySign Desktop kurulu ve oturum açılmış olmalı
# 2. Sertifika otomatik olarak Windows deposuna yüklenir

# İmzalama
signtool sign /n "Şirket Adınız" /tr http://time.certum.pl /td sha256 /fd sha256 /v myapp.exe

# Batch imzalama (klasördeki tüm exe)
Get-ChildItem *.exe | ForEach-Object {
    signtool sign /n "Şirket Adınız" /tr http://time.certum.pl /td sha256 /fd sha256 /v $_.FullName
}

# Doğrulama
signtool verify /pa /v myapp.exe

DigiCert KeyLocker ile SignTool

# Ortam değişkenlerini ayarla
$env:SM_HOST = "https://clientauth.one.digicert.com"
$env:SM_API_KEY = "your_api_key"
$env:SM_CLIENT_CERT_FILE = "C:\cert\client_cert.p12"
$env:SM_CLIENT_CERT_PASSWORD = "your_password"

# smctl ile sertifika sync
smctl windows certsync

# SignTool ile imzalama
signtool sign /sha1 THUMBPRINT /tr http://timestamp.digicert.com /td sha256 /fd sha256 /v myapp.exe

Yöntem 2: PKCS#11 Entegrasyonu

PKCS#11, HSM cihazlarıyla iletişim için endüstri standardı API. Java (jarsigner), OpenSSL ve diğer araçlarla kullanılabilir.

# Java JAR imzalama (PKCS#11)
# pkcs11.cfg oluştur
cat > pkcs11.cfg << EOF
name = CloudHSM
library = /opt/certum/libcryptoki.so
slot = 0
EOF

# jarsigner ile imzalama
jarsigner -keystore NONE -storetype PKCS11 \
  -providerClass sun.security.pkcs11.SunPKCS11 \
  -providerArg pkcs11.cfg \
  -tsa http://time.certum.pl \
  -signedjar signed-app.jar app.jar "certificate-alias"

Yöntem 3: REST API

Tam programatik kontrol için REST API kullanabilirsiniz. Özellikle DigiCert KeyLocker güçlü bir API sunar.

# Python ile DigiCert Signing Manager API
import hashlib
import requests
import base64

# Dosya hash hesapla
with open('myapp.exe', 'rb') as f:
    file_hash = hashlib.sha256(f.read()).hexdigest()

# İmzalama isteği
response = requests.post(
    'https://clientauth.one.digicert.com/signingmanager/api/v1/sign',
    headers={
        'x-api-key': 'YOUR_API_KEY',
        'Content-Type': 'application/json'
    },
    json={
        'hash': file_hash,
        'hash_algorithm': 'SHA256',
        'credential_id': 'your-cert-id',
        'signature_format': 'PKCS7'
    }
)

signature = response.json()['signature']
print(f"İmza alındı: {len(signature)} karakter")

CI/CD Pipeline Entegrasyonu

GitHub Actions Örneği

# .github/workflows/build-and-sign.yml
name: Build and Sign
on: [push]
jobs:
  build-sign:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build
        run: dotnet build -c Release
      - name: Install signing client
        run: |
          # Platform istemcisini kur
          choco install signtool -y
      - name: Sign executable
        env:
          SM_API_KEY: ${{ secrets.SM_API_KEY }}
        run: |
          signtool sign /sha1 ${{ secrets.CERT_THUMBPRINT }} /tr http://timestamp.digicert.com /td sha256 /fd sha256 /v bin\Release\app.exe
      - name: Verify signature
        run: signtool verify /pa /v bin\Release\app.exe

Güvenlik En İyi Pratikleri

  • API anahtarlarını asla kodda saklama: Environment variable veya secret manager kullanın
  • IP kısıtlama: İmzalama API erişimini belirli IP aralıklarına sınırlayın
  • Rate limiting: Beklenmedik yüksek imzalama sayılarına alarm kurun
  • Denetim logları: Her imzalamayı loglayın ve düzenli inceleyin
  • Timestamp her zaman: Her imzalamada timestamp ekleyin

Sıkça Sorulan Sorular (FAQ)

API key güvenli mi?

API key tek başına imzalama için yeterli değil. Çoğu platform 2FA (mobil onay) veya istemci sertifikası da gerektirir. API key sızdığında bile yetkisiz imzalama yapılamaz.

CI/CD pipeline otomatik imzalama yapabilir mi?

Evet, ancak platform desteğine bağlıdır. DigiCert KeyLocker tam otomasyon destekler. Certum SimplySign ise her imzalama için mobil onay isteyebilir, bu CI/CD otomasyonunu kısıtlayabilir.

Bu yazıyı paylaş
Yazar

Ali Yiğit

Önerilen Kod İmzalama Sertifikaları

Tüm Ürünler
CODESIGNING DigiCert

DigiCert Kod İmzalama

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

$480,00 /yıl
Detaylar
EVCODESIGNING DigiCert

DigiCert EV Kod İmzalama

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

$650,00 /yıl
Detaylar
CLOUDCODESIGNING Certum

Certum Standard Cloud Kod İmzalama

Certum Standard Cloud OV Kod İmzalama Sertifikası SimplySign ile Fiziksel token gerektirmez, mobil c

$180,00 /yıl
Detaylar

Yorumlar

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

Yorum Yaz