Azure DevOps Cloud-Signatur-Integrationsleitfaden

Dies ist eine Anleitung, wie Azure DevOps in eSigner CodeSignTool integriert werden kann, um automatisierte Codesignaturen durchzuführen.

CodeSignTool ist ein Befehlszeilendienstprogramm, das für Cloud-Codesignaturprozesse geeignet ist und sich nahtlos in verschiedene CI/CD-Plattformen integrieren lässt. Es ist Teil von eSigner: unserem Remote-Signatur-Service, der einen effizienten, sicheren und benutzerfreundlichen Ansatz für Codesignaturen bietet.

SSL.com EV Codesignatur Zertifikate helfen, Ihren Code vor unbefugter Manipulation und Kompromittierung mit dem höchsten Validierungsniveau zu schützen, und sind für so wenig wie erhältlich $ 249 pro Jahr. Sie können auch Verwenden Sie Ihr EV Code Signing-Zertifikat in großem Maßstab in der Cloud mit eSigner.

BESTELLEN SIE JETZT!

Umgebungsvariablen

  • USERNAME: Benutzername des SSL.com-Kontos. (Erforderlich)
  • PASSWORD: Kennwort für das SSL.com-Konto (erforderlich)
  • CREDENTIAL_ID: Anmelde-ID zum Signieren des Zertifikats. Wenn credential_id ausgelassen wird und der Benutzer nur ein eSigner-Codesignaturzertifikat hat, verwendet CodeSignTool standardmäßig dieses. Wenn der Benutzer über mehr als ein Codesignaturzertifikat verfügt, ist dieser Parameter obligatorisch. (Erforderlich)
  • TOTP_SECRET: OAuth-TOTP-Geheimnis. Detaillierte Informationen erhalten Sie unter https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Pflichtfeld)
  • UMGEBUNGSNAME : 'TEST'- oder 'PROD'-Umgebung. (Erforderlich)

 

Eingänge

  • Eingabedateipfad: Pfad des zu signierenden Codeobjekts. (Erforderlich)
  • Ausgabeverzeichnis_Pfad: Verzeichnis, in das signierte Codeobjekte geschrieben werden. Wenn output_path weggelassen wird, wird die in -file_path angegebene Datei mit der signierten Datei überschrieben.

Erstellen Sie ein Projekt auf visualstudio.com

Erstellen Sie eine neue .yml-Datei in Ihrem Code-Editor

Legen Sie Integrationsauslöser und Umgebungsvariablen fest

Continuous-Integration-Trigger

auslösen:

  - keiner

 

Definiert Umgebungsvariablen global. Die Eigenschaft auf Jobebene überschreibt globale Variablen

Variablen:

  buildConfiguration: 'Release'

Gruppieren Sie Jobs in Phasen

Schreiben Sie die Schritte für die Erstellungsphase. Alle Jobs in einer Stufe müssen abgeschlossen sein, bevor die nächste Stufe ausgeführt wird.

Stufen:

  – Stufe: bauen

    # Wenn der Arbeitsablauf ausgeführt wird, ist dies der Name, der protokolliert wird

    displayName: Bauen

    Arbeitsplätze:

      - Arbeit:

        Schwimmbad:

           Job auf Windows-VMs ausführen

          vmImage: „Windows-neueste“

        Schritte:

           Installieren Sie Dotnet 6.0.x

        – Aufgabe: UseDotNet@2

          displayName: „.NET Core SDK installieren“

          Eingänge:

            Version: '6.0.x'

            PerformMultiLevelLookup: wahr

            includePreviewVersions: wahr

       

            Stellen Sie das Dotnet-Projekt wieder her

        – Aufgabe: DotNetCoreCLI@2

          displayName: Wiederherstellen

          Eingänge:

            Befehl: 'wiederherstellen'

 

           Dotnet-Projekt mit Release-Konfiguration erstellen

        – Aufgabe: DotNetCoreCLI@2

          displayName: Bauen

          Eingänge:

            Befehl: bauen

            Projekte: HelloWorld.csproj

            Argumente: '–configuration $(buildConfiguration)'

 

           Erstellen Sie Verzeichnisse für signierte Artefakte

        – Powershell: New-Item -ItemType Directory -Path ./artifacts

          displayName: 'Verzeichnisse für Artefakte erstellt'

 

           Erstellen Sie Verzeichnisse für signierte Pakete

        – Powershell: New-Item -ItemType Directory -Path ./packages

          displayName: 'Verzeichnisse für Pakete erstellt'

 

           Kopieren Sie das Artefakt als Signaturpfad

        – Powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll

          displayName: „Erstellte Artefakte in das Paketverzeichnis kopieren“

 

           Speichern Sie das Artefakt, um den Signaturjob zu verwenden

        – Aufgabe: PublishBuildArtifacts@1

          displayName: 'Zu signierendes Artefakt zum Herunterladen speichern'

          Eingänge:

            Pfad zur Veröffentlichung: ./packages/HelloWorld.dll

            Artefaktname: HelloWorld.dll

Schreiben Sie die Schritte für die Sign-Phase auf

– Stufe: Zeichen

    # Wenn der Arbeitsablauf ausgeführt wird, ist dies der Name, der protokolliert wird

    displayName: Zeichen

    Arbeitsplätze:

    - Arbeit:

      Schwimmbad:

         Job auf Ubuntu-VMs ausführen

        vmImage: „Ubuntu-neueste“

      Schritte:

         Erstellen Sie Verzeichnisse für signierte Artefakte

      – Skript: mkdir -p ./artifacts && mkdir -p ./packages

        displayName: „Verzeichnisse für Artefakte und Pakete erstellt“

 

         Laden Sie das zu signierende Artefakt herunter

      – Aufgabe: DownloadPipelineArtifact@2

        Eingänge:

          Artefakt: HelloWorld.dll

          Downloadpfad: ./Pakete

 

         Installieren Sie Docker 17.09.0-ce

      – Aufgabe: DockerInstaller@0

        displayName: Docker-Installationsprogramm

        Eingänge:

          DockerVersion: 17.09.0-ce

          releaseType: stabil

 

         Docker Pull CodeSigner Docker-Image

      – Skript: docker pull ghcr.io/sslcom/codesigner:latest

        displayName: „Docker Pull CodeSigner Docker-Image“

         Artefakt mit CodeSigner-Docker-Image signieren

      – Skript: docker run -i –rm –dns 8.8.8.8 –network host –volume $PWD/packages:/codesign/examples –volume $PWD/artifacts:/codesign/output

                -e BENUTZERNAME=$(BENUTZERNAME) -e PASSWORT=$(PASSWORT) -e CREDENTIAL_ID=$(CREDENTIAL_ID) -e TOTP_SECRET=$(TOTP_SECRET)

Wenn das Passwort Sonderzeichen enthält, muss es in Anführungszeichen gesetzt werden.

                -e ENVIRONMENT_NAME=$(ENVIRONMENT_NAME) ghcr.io/sslcom/codesigner:latest sign -input_file_path=/codesign/examples/HelloWorld.dll

                -output_dir_path=/codesign/output

        displayName: „Artefakt mit CodeSigner-Docker-Image signieren“

 

         Signiertes Artefakt zum Herunterladen speichern

      – Aufgabe: PublishBuildArtifacts@1

        displayName: 'Signiertes Artefakt zum Herunterladen speichern'

        Eingänge:

          Pfad zur Veröffentlichung: ./artifacts/HelloWorld.dll

          Artefaktname: HelloWorld.dll

Erstellen Sie eine neue .gitignore-Datei

Eintippen:

Kasten

obj

.vscode

Geben Sie in der Meldungsleiste Erstellte pipeline.yml ein und klicken Sie auf Verpflichten Taste im nun erscheinenden Bestätigungsfenster nun wieder los.

SSL.com EV Codesignatur Zertifikate helfen, Ihren Code vor unbefugter Manipulation und Kompromittierung mit dem höchsten Validierungsniveau zu schützen, und sind für so wenig wie erhältlich $ 249 pro Jahr. Sie können auch Verwenden Sie Ihr EV Code Signing-Zertifikat in großem Maßstab in der Cloud mit eSigner.

BESTELLEN SIE JETZT!

Fahren Sie mit dem Klicken fort Änderungen synchronisieren Taste im nun erscheinenden Bestätigungsfenster nun wieder los.

Gehen Sie zu visualstudio.com und klicken Sie auf Repos auf dem Armaturenbrett

Aktualisieren Sie die Seite, um die YML-Datei anzuzeigen

Klicken Sie Pipelines auf dem Armaturenbrett

Als Nächstes klicken Sie auf Pipeline erstellen

Klicken Sie auf Azure Repos Git

Wählen Sie Ihre YAML-Datei aus

Klicken Sie Variablen Taste gefolgt von Neue Variable

Platzieren Sie den Wert für jede Umgebungsvariable und klicken Sie auf OK Taste im nun erscheinenden Bestätigungsfenster nun wieder los.

Klicken Sie auf das +-Zeichen, um mit dem Hinzufügen jeder Variable fortzufahren

Nachdem Sie alle Variablen eingefügt haben, fahren Sie mit der Erstellung Ihrer Pipeline fort

Führen Sie Ihre Pipeline aus

Klicken Sie Pipelines auf dem Armaturenbrett. Klicken Sie in Ihrer Pipeline auf die drei Punkte (weitere Optionen). Klicken Pipeline ausführen. Klicken Sie abschließend auf die Schaltfläche Führen Sie .

Klicken Sie auf Erstellen, um die Erstellungsphase zu starten

Überprüfen Sie, ob jeder Job in der Build-Phase erfolgreich ist

Klicken Sie auf den Dropdown-Pfeil daneben Job um den Status jedes Build-Jobs anzuzeigen

Starten Sie die Sign-Phase durch Klicken Job

Überprüfen Sie, ob jeder Schritt im Signaturprozess erfolgreich war

Überprüfen Sie noch einmal, ob sowohl die Build- als auch die Signierphase erfolgreich sind

Sie können auf die verweisen SSL.com Github-Repository, das die Quellcodes des Docker-Images enthält und dessen Verwendung beschreibt: https://github.com/SSLcom/ci-images 

Beispiel einer Azure DevOps-Pipeline

Sehen Sie sich die von uns erstellte Azure DevOps-Beispielpipeline an github.com/SSLcom/codesigner-azuredevops-sample

Andere Leitfäden zur Integration von Remote-Signaturen

Benötigen Sie kundenspezifische Lösungen? 

Mit unserem Expertenwissen und unserem Fünf-Sterne-Support-Personal sind wir bereit und bereit, mit Ihnen an kundenspezifischen Lösungen oder Rabatten für Großseriensignaturen auf Unternehmensebene zu arbeiten. Füllen Sie das untenstehende Formular aus und wir melden uns bei Ihnen.

Twitter
Facebook
LinkedIn
Reddit
E-Mail

Bleiben Sie informiert und sicher

SSL.com ist ein weltweit führendes Unternehmen im Bereich Cybersicherheit, PKI und digitale Zertifikate. Melden Sie sich an, um die neuesten Branchennachrichten, Tipps und Produktankündigungen von zu erhalten SSL.com.

Wir würden uns über Ihr Feedback freuen

Nehmen Sie an unserer Umfrage teil und teilen Sie uns Ihre Meinung zu Ihrem letzten Kauf mit.