SSL.com

GitLab CI ile Bulut Kod İmzalama Entegrasyonu

Bu, eSigner CodeSignTool kullanarak GitLab CI'de otomatik kod imzalamanın nasıl yapılacağına ilişkin bir eğitimdir.  CodeSignTool, eSigner'ın bir parçasını oluşturan güvenli bir komut satırı yardımcı programıdır: kurumsal kod imzalamayı karmaşık olmayan bir şekilde güvenli ve verimli bir şekilde yürütme kapasitesiyle yazılım yayıncılarına ve geliştiricilerine fayda sağlayan bulut kod imzalama ortamımız.  Aşağıdaki örnek iş akışı, eSigner ile GitLab CI'de imzalanan bir .NET DLL kodunu gösterir.

SSL.com EV Kod İmzalama sertifikalar, kodunuzu yetkisiz kurcalamaya karşı korumaya yardımcı olur ve en yüksek düzeyde doğrulama ile taviz verir ve en az düzeyde kullanılabilir. Yılda $ 249. Ayrıca şunları da yapabilirsiniz EV Kod İmzalama sertifikanızı geniş ölçekte kullanın eSigner kullanarak bulutta.

ŞİMDİ SİPARİŞ VER

Ortam Değişkenleri

Girdiler

.NET Kodu DLL İmzalama Örnek İş Akışı

Bir yml dosyası oluşturun

İşleri aşamalar halinde gruplandırın. Bir aşamadaki tüm işler, bir sonraki aşama yürütülmeden önce tamamlanmalıdır.

aşamalar: - inşa - imzala
 

Ortam değişkenlerini global olarak tanımlayın. İş düzeyi özelliği, genel değişkenleri geçersiz kılar.

değişkenler: PROJECT_NAME: "HelloWorld" PROJECT_VERSION: "0.0.1" DOTNET_VERSION: "3.1" ENVIRONMENT_NAME: "PROD"
 

Tanımlamak Yapı Aşaması

Aşağıda, dll eseri oluşturmak için işinizin tanımı verilmiştir.

yapı-dotnet:

 

  1. İşin hangi aşamada çalışacağını tanımlayın.
  aşama: inşa

 

  1. Kullanılması gereken resmin tam adını yerleştirin. Gerekirse Kayıt bölümünü içermelidir.
 resim: mcr.microsoft.com/dotnet/sdk:3.1-bullseye

 

  1. İşten *önce* çalışması gereken komut dosyalarını tanımlayın. Global olarak veya iş başına ayarlanabilir.
Before_script: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/packages

 

  1. Runner tarafından yürütülen Shell komut dosyalarını tanımlayın. DLL yapıtını oluştur
komut dosyası: - dotnet build dotnet/${PROJECT_NAME}.csproj -c Sürümü - cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${CI_PROJECT_DIR}/packages/${ PROJECT_NAME}.dll

 

  1. Başarılı olursa işe eklenmesi gereken dosya ve dizinlerin bir listesini belirtin.
yapıtlar: yollar: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll'nin son kullanma tarihi: 5 dakika
 

İşaret Aşamasını Tanımlayın

Aşağıda, dll yapıtını imzalamak için işinizin tanımı yer almaktadır.

sign-dotnet-yapıları:

 

  1. İşin hangi aşamada çalışacağını tanımlayın.
  aşama: işaret

 

  1. Kullanılması gereken resmin tam adını yerleştirin. Gerekirse Kayıt bölümünü içermelidir.
 resim: liman işçisi:19.03.0

 

  1. Hizmetleri tanımlayın. Bu, 'image' özelliğine benzer, ancak belirtilen hizmetleri 'image' kapsayıcısına bağlayacaktır.
hizmetler: - liman işçisi:19.03.0-dind

 

  1. Belirli işler için ortam değişkenlerini tanımlayın.
  değişkenler: KOMUT: "işaret"

 

  1. İşten *önce* çalışması gereken komut dosyalarını tanımlayın. Global olarak veya iş başına ayarlanabilir.
  Before_script: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/packages

 

  1. Runner tarafından yürütülen Shell komut dosyalarını yerleştirin. CodeSignTool Docker Image ile .NET dll yapıtını imzalayın
betik: - docker pull ghcr.io/sslcom/codesigner:latest - docker run -i --rm --dns 8.8.8.8 --ağ ana bilgisayarı --volume ${CI_PROJECT_DIR}/packages:/codesign/examples --volume $ {CI_PROJECT_DIR}/artifacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:latest ${COMMAND} -input_file_path=/codesign/examples/${PROJECT_NAME}.dll -output_dir_path=/codesign/output

 

  1. Başarılı olursa işe eklenmesi gereken dosya ve dizinlerin listesini belirtmek için kullanılabilecek komut dosyasını yazın.
eserler: yollar: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll'nin geçerlilik süresi: 1 gün

 

  1. Yapıtların yüklenmesi gereken önceki aşamalardan iş adlarının bir listesini belirtin.
bağımlılıklar: - build-dotnet

SSL.com EV Kod İmzalama sertifikalar, kodunuzu yetkisiz kurcalamaya karşı korumaya yardımcı olur ve en yüksek düzeyde doğrulama ile taviz verir ve en az düzeyde kullanılabilir. Yılda $ 249. Ayrıca şunları da yapabilirsiniz EV Kod İmzalama sertifikanızı geniş ölçekte kullanın eSigner kullanarak bulutta.

ŞİMDİ SİPARİŞ VER

Yapı Aşamasını Başlatın

Depo oluştur

Aşağıdaki ekran görüntüsünde görüldüğü gibi Gitlab'daki Komut satırı talimatlarına bakın.

klasörünüzü itin

Bunu tıklayarak yapın terminal menüde, ardından Yeni Terminal.

Projeyi göndermek için Push komut dosyasını Terminal'inize yazın 

Oluştur düğmesini tıklayın

Boru hattını tetikledikten sonra, inşa etmeye devam edin

Yapının başarılı olup olmadığını kontrol edin  

İşaret Aşamasını Başlatın

Eseri imzalamaya devam edin

Kod imzalamanın başarılı olup olmadığını onaylayın

Şimdi imzalı dosyayı indirebilirsiniz

Referans edebilirsiniz SSL.com Docker görüntüsünün kaynak kodlarını içeren ve nasıl kullanılacağını açıklayan Github deposu: https://github.com/SSLcom/ci-images 

Örnek Gitlab CI Ardışık Düzeni

Üzerinde oluşturduğumuz örnek Gitlab CI işlem hattına göz atın github.com/SSLcom/codesigner-gitlabci-sample

Diğer CI/CD Uzaktan İmzalama Entegrasyon Kılavuzları

Özel Çözümlere mi ihtiyacınız var? 

Uzman bilgi birikimimiz ve beş yıldızlı destek ekibimizle, özel çözümler veya kurumsal düzeyde yüksek hacimli imza indirimleri konusunda sizinle birlikte çalışmaya hazır ve istekliyiz. Aşağıdaki formu doldurun, sizinle iletişime geçelim.

Mobil sürümden çık