GitHub Actions ile derleme hattınızda yazılımı otomatik olarak imzalayabilirsiniz. Fiziksel token bir CI sunucusuna takılamayacağı için burada bulut kod imzalama çözümü idealdir.
Neden bulut imzalama?
GitHub Actions runner'ları geçici ve uzaktır; USB token takmak mümkün değildir. Bulut HSM tabanlı çözümlerde imzalama, saklanan gizli kimlik bilgileriyle uzaktan yapılır.
Genel akış
- Kod imzalama kimlik bilgilerinizi (API anahtarı, kullanıcı) GitHub Secrets olarak saklayın — asla repoya yazmayın.
- Workflow'da imzalama istemcisini kurun.
- Derleme sonrası çıktı dosyasını imzalayın.
Örnek adım
- name: Sign artifact
env:
CS_USER: ${{ secrets.CS_USER }}
CS_KEY: ${{ secrets.CS_KEY }}
run: |
signtool sign /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /a build/uygulama.exeNot: Bulut sağlayıcınızın (ör. Certum) sağladığı istemci/aracı komuta eklenir. SignTool parametreleri aynıdır.
Güvenlik ipuçları
- Kimlik bilgilerini yalnızca Secrets içinde tutun.
- İmzalamayı yalnızca korumalı dallarda/etiketlerde çalıştırın.
- Her imzada zaman damgası kullanın.
Sertifika için Cloud Kod İmzalama sayfamıza bakın. İlgili: Azure DevOps, CI/CD imzalama.