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.
.NET-Code-DLL-Signierungsbeispiel-Workflow
Erstellen Sie eine yml-Datei
Gruppieren Sie Jobs in Phasen. Alle Jobs in einer Stufe müssen abgeschlossen sein, bevor die nächste Stufe ausgeführt wird.
Etappen: - Bauen - Signieren
Umgebungsvariablen global definieren. Die Eigenschaft auf Jobebene überschreibt globale Variablen.
- Umgebungsvariablen werden verwendet, um die Beispiele besser lesbar zu machen. Im obigen Screenshot des Beispielworkflows wurden PROJECT_NAME, PROJECT_VERSION und DOTNET_VERSION optional weggelassen. Die Unterzeichnung kann auch mit diesen Auslassungen fortgesetzt werden.
- Geben Sie unter ENVIRONMENT_NAME „TEST“ für Testsignaturen und „PROD“ für Livesignaturen ein.
Variablen: PROJECT_NAME: „HelloWorld“ PROJECT_VERSION: „0.0.1“ DOTNET_VERSION: „3.1“ ENVIRONMENT_NAME: „PROD“
Definiere das Stufe bauen
Nachfolgend finden Sie die Definition Ihres Jobs zum Erstellen von DLL-Artefakten
build-dotnet:
- Definieren Sie, in welcher Phase der Job ausgeführt wird.
Stufe: bauen
- Geben Sie den vollständigen Namen des Bildes ein, das verwendet werden soll. Es sollte den Registrierungsteil enthalten, falls erforderlich.
Bild: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- Definieren Sie Skripte, die *vor* dem Job ausgeführt werden sollen. Kann global oder pro Job eingestellt werden.
before_script: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/packages
- Definieren Sie Shell-Skripte, die vom Runner ausgeführt werden. DLL-Artefakt erstellen
Skript: - dotnet build dotnet/${PROJECT_NAME}.csproj -c Release - cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${CI_PROJECT_DIR}/packages/${ PROJECT_NAME}.dll
- Geben Sie eine Liste von Dateien und Verzeichnissen an, die an den Job angehängt werden sollen, wenn er erfolgreich ist.
- Dieabgelaufen_in'-Eigenschaft ermöglicht das Löschen der Datei nach einer bestimmten Zeit. Seine Verwendung ist optional. Aus diesem Grund zeigt der Screenshot des obigen Beispiel-Workflows diese Eigenschaft nicht.
Artefakte: Pfade: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll expire_in: 5 Minuten
Definieren Sie die Zeichenphase
Nachfolgend finden Sie die Definition Ihres Jobs zum Signieren von DLL-Artefakten
Sign-Dotnet-Artefakte:
- Definieren Sie, in welcher Phase der Job ausgeführt wird.
Stufe: Zeichen
- Geben Sie den vollständigen Namen des Bildes ein, das verwendet werden soll. Es sollte den Registrierungsteil enthalten, falls erforderlich.
Bild: docker:19.03.0
- Dienste definieren. Dies ähnelt der Eigenschaft „image“, verknüpft jedoch die angegebenen Dienste mit dem Container „image“.
dienste: - docker:19.03.0-dind
- Definieren Sie Umgebungsvariablen für bestimmte Jobs.
- Im obigen Screenshot wurde der Sign-Befehl direkt im Sign-Skript und nicht unter Umgebungsvariablen definiert. BBeide Methoden können mit TravisCI korrekt signieren.
Variablen: BEFEHL: "Zeichen"
- Definieren Sie Skripte, die *vor* dem Job ausgeführt werden sollen. Kann global oder pro Job eingestellt werden.
before_script: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/packages
- Platzieren Sie Shell-Skripte, die vom Runner ausgeführt werden. Signieren Sie das .NET-DLL-Artefakt mit dem CodeSignTool Docker Image
script: - docker pull ghcr.io/sslcom/codesigner:latest - docker run -i --rm --dns 8.8.8.8 --network host --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
- Schreiben Sie das Skript, das verwendet werden kann, um eine Liste von Dateien und Verzeichnissen anzugeben, die an den Job angehängt werden sollen, wenn er erfolgreich ist.
Artefakte: Pfade: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll Verfallsdatum: 1 Tage
- Geben Sie eine Liste mit Jobnamen aus früheren Stadien an, aus denen Artefakte geladen werden sollen.
Abhängigkeiten: - build-dotnet
Initiieren Sie die Build-Phase
Erstellen Sie ein Repository
Beachten Sie die Befehlszeilenanweisungen auf Gitlab, wie im folgenden Screenshot zu sehen
Drücken Sie Ihren Ordner
Tun Sie dies durch Anklicken Terminal auf der Speisekarte, gefolgt von Neues Terminal.
Geben Sie das Push-Skript auf Ihrem Terminal ein, um das Projekt zu pushen
Klicken Sie auf die Schaltfläche Erstellen
Fahren Sie nach dem Auslösen der Pipeline mit dem Erstellen fort
Überprüfen Sie, ob der Build erfolgreich ist
Leiten Sie die Zeichenphase ein
Fahren Sie fort, um das Artefakt zu signieren
Bestätigen Sie, ob die Codesignatur erfolgreich war
Sie können die signierte Datei jetzt herunterladen
Beispiel für eine Gitlab-CI-Pipeline
Sehen Sie sich die von uns erstellte Beispiel-Gitlab-CI-Pipeline an github.com/SSLcom/codesigner-gitlabci-sampleAndere CI/CD-Remote-Signatur-Integrationsleitfäden
- Cloud Code Signing-Integration mit CircleCI
- Cloud Code Signing-Integration mit GitHub-Aktionen
- Cloud Code Signing-Integration mit Jenkins CI
- Cloud Code Signing-Integration mit Travis CI
- Cloud Code Signing-Integration mit Azure DevOps
- Cloud Code Signing-Integration mit BitBucket
- Cloud Code Signing-Automatisierung mit CI/CD-Diensten
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.