{"copy":"Kopieren","expand":"Einblenden","collapse":"Ausblenden","copy_success":"Kopiert!","copy_error":"Kopieren fehlgeschlagen!"}

Signatur mit KeyLocker Cloud HSM

Dieser Artikel zeigt Ihnen, wie Sie mit Cloud- und KeyLocker HSM signieren können. Die Anleitung ist für alle Plattformen und verschiedene Signatur-Tools relevant – von signtool bis jarsigner. Die angegebenen Informationen sind auch die Grundlage für das Signieren mit dem Software Trust Manager von DigiCert ONE; das Prinzip des Signierens gilt also für beide genannten Dienste.

Kompatibilität von KeyLocker

Bevor Sie KeyLocker ausprobieren, fragen Sie sich sicherlich, ob es in Ihrem Workflow verwendet werden kann und ob es funktioniert. KeyLocker und die zugehörigen Bibliotheken unterstützen (wie auch der Software Trust Manager in DC1) Signatur-Tools von Drittanbietern. Auf der DigiCert-Website finden Sie im Artikel Signing tool integration eine vollständige Übersicht der Dateiformate, die Sie mit kompatiblen Tools mit KeyLocker signieren können.

Hier erwähne ich nur das am weitesten verbreitete Signtool in der 32-Bit- und 64-Bit-Version:

  • SignTool (32-Bit): .doc, .docm, .dot, .dotm, .msi, .cab, .exe, .dll, .mpp, .mpt, .pot, .potm, .ppa, .ppam, .pps, .ppsm, .ppt, .pptm, .pub, .vdw*, .vdx*, .vsd*, .vsdm, .vss*, .vssm, .vst*, .vstm, .vsx*, .vtx*, .wiz*, .xla, .xlam, .xls, .xlsb, .xlsm, .xlt, .xltm
  • SignTool (64-Bit): .appx, .appxbundle, .arx, .cab, .cat, .cbx, .cpl, .crx, .dbx, .deploy, .dll, .drx, .efi, .exe, .js, .msi, .msix, .msixbundle, .msm, .msp, .ocx, .psi, .psm1, .stl, .sys, .vbs, .vsix, .wsf, .xsn

Anleitung in KeyLocker

Nach der Anmeldung bei KeyLocker sehen Sie den Setup-Assistenten, der Ihnen beim Herunterladen der DigiCert ONE Clients-Anwendung hilft. Damit melden Sie sich am Computer beim KeyLocker-Konto an, installieren die erforderlichen Bibliotheken einschließlich SMCTL und konfigurieren die Systemvariablen für die Authentifizierung. Im Vergleich zum vorherigen Vorgehen ist dies eine erhebliche Erleichterung.

Laden Sie im ersten Schritt des KeyLocker-Assistenten die DigiCert ONE Clients-App herunter, installieren und starten Sie sie. Die Anmeldung ist dieselbe, wie Sie sie im Webinterface von KeyLocker eingerichtet haben.

Authentifizierungsdaten erhalten Sie im KeyLocker-Assistenten

Im nächsten Schritt installieren Sie in der Desktop-Anwendung SMCTL, das Haupttool für das Signieren.

Installation von SMCTL

Nach der Installation sehen Sie eine Auswahl aus drei möglichen Methoden zur Speicherung der KeyLocker-Variablen im System. Wir empfehlen, die Standardoption "Store my credentials" zu belassen. Die Daten werden im System gespeichert, und Sie müssen sich nicht bei jedem Signieren erneut beim Konto anmelden.

Auswahl der Authentifizierungsmethode für KeyLocker

Wenn Sie die Speicherung im System wählen, werden die Anmeldeinformationen in Windows im Credential Manager gespeichert.

Zugangsdaten zu KeyLocker sind im Credential Manager gespeichert. Dort bleiben sie für immer, und Sie müssen sie nicht erneut eingeben.

Nach dem Einrichten der Anmeldeinformationen im System, das automatisch von der DigiCert ONE Clients-App durchgeführt wird, gehen Sie zum dritten Schritt des Assistenten über. Dieser fordert Sie nun auf, den Befehl SMCTL healthcheck auszuführen, der die Kommunikation der lokalen Umgebung mit KeyLocker und die richtige Authentifizierung testet. Alles sollte reibungslos ablaufen, also bestätigen Sie "I have run the healthcheck command in SMCTL" und klicken Sie auf die Schaltfläche Check Status.

Test der korrekten Einrichtung

Sie sehen eine grüne Bestätigung You're ready to start signing with SMCTL, was bedeutet, dass alles korrekt eingerichtet ist, die Kommunikation funktioniert und Sie mit dem Signieren beginnen können.

Wählen Sie die richtige Plattform aus vier Möglichkeiten, die Sie für das Signieren verwenden, und Sie sehen anschließend ein Beispiel (Anleitung) für das Signieren mit KeyLocker.

KeyLocker Setup Complete

Dateien signieren

Zum Signieren empfehlen wir, hauptsächlich das SMCTL-Tool zu verwenden, das im Befehlszeilenfenster (CLI) funktioniert. Die zweite Option ist das DigiCert​​®​​ Click-to-sign-Tool (siehe letzter Abschnitt).

Anleitungen zum Signieren von Dateien für die gängigsten Plattformen (Authenticode, Docker, Java...) finden Sie direkt im Webinterface von KeyLocker. Nach Abschluss des Assistenten (Überschrift "Setup complete!") können Sie auf eine der angebotenen Plattformen klicken, und das Interface zeigt Ihnen den vorbereiteten Befehl mit dem ausgewählten Zertifikat. Kopieren Sie ihn einfach in das CLI und geben Sie die zu signierende Datei an. Einfacher geht es nicht!

Dateien mit SMCTL signieren (wir empfehlen)

Das SMCTL-Tool stammt von DigiCert und kann auch das vereinfachte Signieren von Dateien mit Drittanbieter-Tools erleichtern (Sie benötigen weiterhin mindestens signtool). SMCTL arbeitet mit den am weitesten verbreiteten Tools zusammen – Signtool, Apksigner, Jarsigner, Mage, Nuget. Das Tool finden Sie im Ordner C:/Program Files/DigiCert/DigiCert Keylocker Tools/smctl.exe

Im letzten Schritt des Assistenten klicken Sie auf Authenticode und wählen im nächsten Dialog ein Zertifikat aus, das in KeyLocker verfügbar ist. Sie erhalten den vollständigen Befehl zum Signieren, fügen das Ziel hinzu und führen ihn lokal in Ihrem CLI aus. Sie erhalten sofort eine Bestätigung für das erfolgreiche Signieren der Datei.

Anleitung zum Signieren auf der Windows-Plattform - Authenticode

Die vollständige Dokumentation zu SMCTL finden Sie auf der DigiCert-Website.

Dateien mit Signtool signieren

Die folgende Anleitung bezieht sich auf das Signtool-Tool aus dem Windows SDK-Paket. Es ist das am weitesten verbreitete Tool zum Signieren auf der Windows-Plattform.

Der Signtool-Befehl erfordert die Angabe der zu signierenden Datei, des Zertifikats und ggf. zugehöriger Parameter. Auf das Signaturzertifikat können Sie sich auf verschiedene Weisen beziehen: Sie können Signtool das Zertifikat basierend auf dem Speicher automatisch auswählen lassen, oder Sie können explizit ein Zertifikat auswählen, indem Sie auf eine Datei mit dem gespeicherten Zertifikat verweisen (nur öffentlicher Teil ohne privaten Schlüssel), oder Sie können den SHA-1-Hash des Zertifikats verwenden.

Hier ist ein Beispiel für das Signieren mit dem Hash des Zertifikats:

C:/>signtool.exe sign /sha1 ecb0f10ab1XXXXXXXXXX1681fb70a31e32288263 /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 C:/Users/User/Documents/HelloSign.exe

Und hier ist ein Beispiel für das Signieren mit KeyLocker und einer Zertifikatsdatei:

C:/Users/User>signtool.exe sign /csp "DigiCert Signing Manager KSP" /kc key_558469087 /f C:/Users/User/Documents/cert_558469087.crt /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 C:/Users/User/Documents/HelloSign.exe
Done Adding Additional Store
Successfully signed: C:/Users/User/Documents/HelloSign.exe

Sie können die Gültigkeit der Signatur mit dem Befehl überprüfen: signtool verify /v file.exe Die Eigenschaften der Signatur finden Sie auch im Datei-Explorer und in den Eigenschaften (Rechtsklick).

Dateien mit Jarsigner signieren

Sie können Jarsigner zusammen mit KeyLocker dank der PKCS11-Bibliothek verwenden; Sie können vereinfacht mit SMCTL signieren, oder direkt mit Jarsigner und der PKCS11-Bibliothek signieren.

Beispiel für das Signieren mit Jarsigner: jarsigner -keystore NONE -storepass NONE -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties2.cfg -signedjar C:/Users/Name/Desktop/signed/signedjar.jar C:/Users/Name/Desktop/ToSign/jartosign.jar key3 -tsa "http://timestamp.digicert.com"

Richtigkeit der Signatur überprüfen Sie mit dem Befehl: jarsigner -verify -certs -verbose

Die Dokumentation zu Jarsigner finden Sie auf der DigiCert-Website.

Signieren mit DigiCert​​®​​ Click-to-sign

Dieses Tool bietet eine grafische Benutzeroberfläche zur Erleichterung der Dateisignatur. Das Ergebnis und das Prinzip des Signierens unterscheiden sich jedoch nicht von den Command-Line-Tools; diese ermöglichen jedoch detailliertere Einstellungen der Signaturparameter. DigiCert​​®​​ Click-to-sign bietet nur vereinfachte Optionen, die jedoch für die meisten Benutzer ausreichend sein können.

DigiCert​​®​​ Click-to-sign hat einen großen Vorteil – für die Einrichtung ist es erforderlich, den Setup-Assistenten für die Zugangsdaten (Secrets) zu KeyLocker zu durchlaufen. Der Assistent testet nicht nur einfach die Verbindung zur Cloud, sondern richtet diese Variablen auch im System ein! Sie müssen sie also nicht manuell kompliziert konfigurieren.

Das eigentliche Signieren mit diesem Tool ist maximal einfach – klicken Sie mit der rechten Maustaste auf die zu signierende Datei und wählen Sie im Menü Click to Sign. Dann können Sie direkt signieren oder die Signaturoptionen bestätigen.

Überprüfung vor der Signatur in DigiCert​​®​​ Click-to-sign

Die Dokumentation zu Click-to-sign finden Sie auf der DigiCert-Website.

Hinweis: Wenn Click-to-sign für Sie nicht funktioniert, stellen Sie in der PATH-Variable die Pfade zum Click-to-sign selbst und auch zur Signaturanwendung (Signtool) getrennt durch Semikolons ein. Zum Beispiel:
Path: C:/Program Files/DigiCert/DigiCert Keylocker Tools;C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0x64;

Integration in CI/CD

Der Hauptvorteil von KeyLocker ist die Möglichkeit der Automatisierung von Signaturen durch Integration in CI/CD-Workflows. DigiCert hat eine Reihe von Skripten und Plugins für die gängigsten Entwicklungstools und Plattformen vorbereitet. Plugins sind für Azure DevOps, GitHub und Jenkins verfügbar. Es gibt sogar noch mehr Integrationsskripte für die PKCS11-Bibliothek.

Vollständige Informationen finden Sie im Artikel CI/CD integrations.

Dokumentation und weitere Quellen: