GitLab ist ein webbasierter Git-Repository-Manager, der Quellcodeverwaltung, Automatisierung von CI/CD-Pipelines (Continuous Integration/Continuous Development) und zahlreiche weitere Funktionen für die Softwareentwicklung bietet. Es handelt sich um eine umfassende DevOps-Plattform, die es Experten ermöglicht, alle Projektarbeiten durchzuführen – von der Planung und Verwaltung des Quellcodes bis hin zu Überwachung und Sicherheit.
Teams können zusammenarbeiten und so bessere Software entwickeln. GitLab bietet umfassende DevOps-Funktionen für jede Phase des Softwareentwicklungszyklus. Die Continuous Integration (CI)-Funktionen automatisieren die Erstellung und das Testen von Code für Entwicklungsteams. Die Plattform umfasst außerdem Sicherheitsfunktionen, die Scan-Ergebnisse innerhalb der nativen CI-Pipeline/des CI-Workflows bereitstellen, sowie ein Dashboard, das Sicherheitsexperten bei der Verwaltung von Schwachstellen unterstützt.
Co-Design
Codesignatur ist ein Verfahren, das die Legitimität des Autors sowie die Originalität und Authentizität digitaler Informationen, insbesondere von Softwarecode, überprüft. Es stellt außerdem sicher, dass es sich bei den Informationen nicht um Schadcode handelt. Darüber hinaus garantiert es, dass diese Informationen nach der Erstellung nicht verändert, verfälscht oder gelöscht wurden. digital signiertDie digitale Signatur wird mithilfe eines privaten Schlüssels erstellt, der nur dem Herausgeber der Software zur Verfügung steht. Beim Herunterladen und Installieren der Software wird die digitale Signatur mit dem öffentlichen Schlüssel abgeglichen, um sicherzustellen, dass sie übereinstimmt und die Software nicht verändert wurde. Code Signing ist wichtig für die Sicherheit von Softwareanwendungen, da es die Verbreitung von Malware und anderer Schadsoftware verhindert.
Verschlüsselungsberatung hat eine CodeSigning-Lösung, „CodeSign Secure”, das Ihnen bei der manipulationssicheren Speicherung der Schlüssel und der vollständigen Transparenz und Kontrolle der Code Signing-Aktivitäten helfen kann. Die privaten Schlüssel des Code-Signing-Zertifikats können in einem HSM um die Risiken im Zusammenhang mit gestohlenen, beschädigten oder missbrauchten Schlüsseln auszuschließen.
Integration von GitLab mit CodeSigning
Um damit zu beginnen, benötigen Sie zunächst ein GitLab-Konto und einen Runner, auf dem Sie signtool und ECSigning KSP installiert und konfiguriert haben. Hier sind die Voraussetzungen:
- Selbstgehosteter Runner, auf dem ECSigning KSP und Signtool installiert und konfiguriert sind. Dieser Runner sollte über Administratorrechte verfügen.
- Ein GitLab-Konto.
Um ECSigningKSP und Signtool einzurichten, führen Sie die folgenden Schritte aus:
Laden Sie das Windows SDK herunter: (developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/)
Sie können auswählen, nur die Windows SDK-Signaturtools für Desktop-Apps zu installieren.
Öffnen Sie die Datei winsdksetup.exe. Merken Sie sich den im Installationspfad angezeigten Standardpfad, da dieser beim Ausführen dieser Befehle über die Eingabeaufforderung hilfreich ist.

Auf der Datenschutzseite von Windows Kits können Sie Microsoft mit beiden Optionen das Sammeln von Erkenntnissen gestatten. Klicken Sie auf „Weiter“.

Akzeptieren Sie die Lizenzvereinbarung

Deaktivieren Sie alle Funktionen außer Windows SDK-Signaturtools für Desktop-Apps, Wählen Sie dann „Installieren“.

Wenn Sie gefragt werden, ob Sie dieser App Änderungen erlauben möchten, wählen Sie „Ja“.


Klicken Sie auf die Windows-Suchleiste in der Taskleiste, geben Sie „Systemumgebungsvariablen bearbeiten“ ein und wählen Sie die gleichnamige Option in der Systemsteuerung aus.

Klicken Sie auf Umgebungsvariablen.

Bevor Sie die Variablenliste bearbeiten, navigieren Sie mit dem Datei-Explorer zum Installationsort des Windows SDK. Sie müssen den Pfad des Ordners kopieren, der die Signtool-Anwendung enthält. Der Standardpfad lautet C:\Programme (x86)\Windows Kits\10\bin\10.0.22621.0\x64, Siehe Screenshot unten. Klicken Sie mit der rechten Maustaste und kopieren Sie den Pfad wie gezeigt. Sie sehen außerdem die Anwendung „Signtool“ unten in der Dateiliste. Dies ist der Befehl, den Sie ausführen werden.

Klicken Sie in der Liste der Systemvariablen auf Neu. Geben Sie dann Pfad als Variablennamen ein und kopieren Sie den oben genannten Pfad. Klicken Sie dann auf OK auf die Umwelt Variablen Fenster und fragst immobilien Fenster.

Um die Installation zu testen, öffnen Sie die Eingabeaufforderung und geben Sie „signtool“ ein. Die Ausgabe sollte wie unten gezeigt aussehen.

Der Standardinstallationsort für Signtool ist beispielsweise: C:\Programme (x86)\Windows Kits\10\bin\10.0.22621.0\x64
Um KSP einzurichten, führen Sie die folgenden Schritte aus:
Wenn Sie unsere Lösung verwenden, können Sie das KSP mit den folgenden Schritten herunterladen:
- Anmelden bei Code Sign Secure.
-
Navigieren Sie zu: Repository für Signaturtools.

- Download „Verschlüsselungsberatung CNG-SigningKSP“
-
Installieren Sie die Client-Tools mit dem MSI-Installationsprogramm. Das MSI-Installationsprogramm automatisiert einen Großteil der Konfiguration. Navigieren Sie zum Speicherort der heruntergeladenen Datei und starten Sie das Installationsprogramm.

-
Klicken Sie auf „Weiter“, wenn der Installationsassistent angezeigt wird.

-
Weiter klicken.

- Im Benutzername Geben Sie im Feld „admin“ ein.
-
Im Code Feld, kopieren Sie den Code aus dem Postman-API-Repository. Klicken Sie auf GetLoginToken API und kopieren Sie den Code aus der Körper
Laden Sie PostMan von diesem herunter Link. Klicken Sie nach dem Download unten im Fenster auf die Schaltfläche „Überspringen“. Fügen Sie im Dashboard mithilfe des Pluszeichens neben „Sammlungen“ eine neue Sammlung hinzu.
GetLoginToken API (http://codesignsecureapi.encryptionconsulting.com/api/auth/GetLoginToken): Dies ist die wichtigste API, da sie Ihnen eine Inhaber-Token Zur Verwendung mit den restlichen APIs. Was im Body enthalten sein sollte, wird unten angezeigt. Der Code dient als Passwort, um das Bearer-Token zu erhalten, das Benutzerfeld ist der Benutzername und das Feld Identitätstyp gibt den Benutzertyp an. Klicken Sie auf Senden um eine Ausgabe zu generieren, in der das Bearer-Token unten aufgeführt ist. Kopieren Sie dieses Token zur Verwendung.

- Ändern Sie die Identitätsschutz Typ um 1.
- Verlassen API BaseURL das Gleiche.
-
Weiter klicken.

-
Weiter klicken.

-
Sie werden dann benachrichtigt, dass dieses Programm Änderungen an Ihrem PC vornimmt. Klicken Sie auf „Ja“.

-
Die Installation ist nun abgeschlossen.

Bitte folgen Sie den folgenden Schritten:
- Richten Sie ein GitLab-Konto ein. Navigieren Sie zum Erstellen eines neuen leeren Projekts.
-
Scrollen Sie nach unten zu Einstellungen -> CI/CD und navigieren Sie zum Runner. Erweitern Sie ihn.

-
Klicken Sie auf „Neuer Projektläufer“.

-
Klicken Sie auf die Plattform Ihrer Wahl und geben Sie ein Tag für den Läufer ein. Geben Sie das Timeout in Sekunden ein und klicken Sie auf „Läufer erstellen“.

- Kopieren Sie das angezeigte Token. Wir benötigen es, um den Runner zu registrieren. Jetzt installieren wir zunächst den Gitlab Runner auf unserem Gerät.
- Installieren Sie GitLab Runner auf Ihrem Gerät mit dem Link. Dieser Link ist für Windows. Sie können dies sehen Link um die Schritte zur Installation auf Ihrem spezifischen Gerät anzuzeigen.
- Sie können dem folgen Dokumentation um Ihren Runner einzurichten und ihn entsprechend Ihrem Gerät zu registrieren.
Um einen Runner unter Windows zu registrieren, führen Sie den folgenden Befehl aus:
- .\gitlab-runner.exe registrieren
- Geben Sie die URL Ihrer GitLab-Instanz ein (auch als gitlab-ci-Koordinator-URL bezeichnet). Beispiel: https://gitlab.com
- Geben Sie das Token ein, das Sie zur Registrierung des Runners erhalten haben. Sie erreichen es über Einstellungen -> CI/CD -> Erweitern -> Projekt-Runner. Unter Projekt-Runner finden Sie das Token.
- Geben Sie eine Beschreibung für den Runner ein. Sie können diesen Wert später in der GitLab-Benutzeroberfläche ändern. Beispiel: Gerät
- Geben Sie die dem Runner zugeordneten Tags durch Kommas getrennt ein. Sie können diesen Wert später in der GitLab-Benutzeroberfläche ändern. Beispiel: WindowsRunner
- Geben Sie optionale Wartungshinweise für den Läufer ein.
- Stellen Sie den Runner-Executor bereit. Wir führen dies in Shell aus.
Sobald der Runner installiert und konfiguriert ist, navigieren Sie zu den Diensten auf Ihrem Gerät, scrollen Sie nach unten zu GitLab Runner und melden Sie sich als Administrator an. Geben Sie hier das Administratorkennwort ein.

Sobald dies erledigt ist, öffnen Sie Ihr Projekt. Möglicherweise müssen Sie die .ym-Datei umbenennen. Benennen Sie sie in .gitlab-ci.yml um. Führen Sie das folgende Skript aus, um das Codesign durchzuführen.
job1: Tags: - WindowsRunner //Das Tag, das Sie beim Einrichten des Runner-Skripts angegeben haben: - signtool sign /csp "Encryption Consulting Key Storage provider" /kc evcodesigning /fd SHA256 /f "C:\Users\Administrator\Desktop\ForTesting\evcodesigning.pem" /tr http://timestamp.digicert.com /td SHA256 "C:\Users\Administrator\Desktop\ForTesting\AgentService.exe"
Wenn Sie auf CI/CD -> Jobs klicken, sehen Sie, dass die Signierung erfolgreich war.

Sie müssen den Befehl entsprechend Ihren Variablen ändern
- kc evcodesigning: Ersetzen Sie evcodesiging durch Ihren Schlüsselnamen
- f „C:\Benutzer\Administrator\Desktop\ForTesting\evcodesigning.pem“: Ersetzen Sie den Speicherort durch den Speicherort Ihrer PEM-Datei, um die Codesignierung durchzuführen. Sie erhalten diese mithilfe von Signing KSP. Gehen Sie von der Eingabeaufforderung in das Verzeichnis mit SigningKSP. Verwenden Sie den Befehl ECGetCert.ece um die PEM-Datei Ihres Zertifikats zu erhalten.
- tr http://timestamp.digicert.com: Zeitstempelserver
- td SHA256 „C:\Users\Administrator\Desktop\ForTesting\AgentService.exe“: Speicherort der Datei, die Sie signieren lassen möchten.
Fazit
Der obige Artikel demonstriert die Integration Ihrer GitLab CI/CD-Pipeline mit Codesigning. Der Prozess ist sehr einfach: Sie müssen lediglich einen Runner einrichten, ihn mit einem GitLab-Konto verbinden und die Pipeline für die Ausführung des Jobs erstellen. Codesigning ist heutzutage unerlässlich, da Schadsoftware und Dateien immer weiter wachsen. Sie erreichen uns unter info@encryptionconsulting.com für jegliche Hilfe bezüglich unserer Code-Signing-Lösung.
