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

Signieren mit KeyLocker Cloud HSM

Dieser Artikel lehrt Sie, wie man mit der Cloud und KeyLocker HSM signiert. Die Anleitung ist relevant für alle Plattformen und verschiedene Signaturwerkzeuge – von signtool bis jarsigner. Die genannten Informationen bilden auch die Grundlage für das Signieren mit dem Software Trust Manager von DigiCert ONE; das Signaturverfahren gilt also für beide genannten Dienste.

Kompatibilität von KeyLocker

Sie werden sich sicher vor dem Ausprobieren von KeyLocker fragen, ob es in Ihrem Workflow verwendet werden kann und ob es funktioniert. KeyLocker und die zugehörigen Bibliotheken unterstützen (genau wie der Software Trust Manager in DC1) Signaturwerkzeuge von Drittanbietern. Auf der Website von DigiCert finden Sie im Artikel Signing tool integration eine vollständige Übersicht über die Dateiformate, die Sie mit den kompatiblen Werkzeugen von KeyLocker signieren können.

Hier erwähne ich nur das am weitesten verbreitete Signtool in der 32b- und 64b-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 in KeyLocker sehen Sie den Einrichtungsassistenten, der Ihnen beim Herunterladen der DigiCert ONE Clients-Anwendung hilft. Mit dieser melden Sie sich auf Ihrem Computer beim KeyLocker-Konto an, installieren die benötigten Bibliotheken einschließlich SMCTL und richten die Systemvariablen für die Authentifizierung ein. Im Vergleich zu früheren Verfahren ist dies eine erhebliche Erleichterung.

Im ersten Schritt des KeyLocker-Assistenten laden Sie die DigiCert ONE Clients-App herunter, installieren und starten sie. Die Anmeldung erfolgt auf die gleiche Weise, wie Sie es im Webinterface von KeyLocker eingerichtet haben.

Authentifizierungsdaten erhalten Sie im KeyLocker-Assistenten

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

Installation von SMCTL

Nach der Installation sehen Sie die Auswahl aus drei möglichen Möglichkeiten zur Speicherung der Systemvariable von KeyLocker. Wir empfehlen, die Standardeinstellung "Store my credentials" beizubehalten. Die Daten werden im System gespeichert, und Sie müssen sich nicht jedes Mal vor dem Signieren erneut beim Konto anmelden.

Auswahl der Authentifizierungsmethode für KeyLocker

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

Zugangsdaten zu KeyLocker sind im Credential Manager gespeichert. Sie sind dort dauerhaft und müssen nicht erneut eingegeben werden.

Nach der Einrichtung der Anmeldeinformationen im System, die automatisch von der DigiCert ONE Clients-App durchgeführt wird, wechseln Sie zum dritten Schritt des Assistenten. Dieser wird Sie dann im System auffordern, den Befehl SMCTL healthcheck auszuführen, der die Kommunikation mit KeyLocker und die Authentifizierung überprüft. Es sollte alles reibungslos funktionieren, also bestätigen Sie "I have run the healthcheck command in SMCTL" und klicken Sie auf die Schaltfläche Check Status.

Test der richtigen Einrichtung

Sie sehen die 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, 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

Für das Signieren empfehlen wir primär das Dienstprogramm SMCTL, das im Befehlszeileninterface (CLI) funktioniert. Die zweite Variante ist das Dienstprogramm DigiCert​​®​​ Click-to-sign (siehe letzter Absatz).

Anleitungen für das Signieren von Dateien für die Hauptplattformen (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 die Schnittstelle zeigt Ihnen den vorbereiteten Befehl mit dem ausgewählten Zertifikat. Kopieren Sie ihn einfach in CLI und geben Sie die zu signierende Datei an. Einfacher geht es nicht!

Dateien Signieren mit SMCTL (empfohlen)

Die SMCTL-Anwendung stammt von DigiCert und kann auch für einfaches Signieren von Dateien mit Drittanbieter-Tools verwendet werden (Sie benötigen immer noch mindestens signtool). SMCTL arbeitet mit den am weitesten verbreiteten Werkzeugen – Signtool, Apksigner, Jarsigner, Mage, Nuget. Das Tool finden Sie im Verzeichnis 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 das in KeyLocker verfügbare Zertifikat aus. 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 die Bestätigung für das erfolgreiche Signieren der Datei.

Anleitung zum Signieren auf der Windows-Plattform - Authenticode

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

Dateien Signieren mit Signtool

Die folgende Anleitung bezieht sich auf das SignTool aus dem Windows SDK Toolkit. Es ist das am häufigsten verwendete Signierwerkzeug auf der Windows-Plattform.

Dem Signtool-Befehl muss angegeben werden, welche Datei signiert werden soll, mit welchem Zertifikat und gegebenenfalls weitere Parameter. Auf das Signaturzertifikat können Sie auf verschiedene Weise verweisen: Sie können Signtool das Zertifikat automatisch basierend auf dem Speicher auswählen lassen, oder die spezifische Zertifikatsauswahl manuell mit einem Verweis auf die Datei mit dem gespeicherten Zertifikat (natürlich nur der öffentliche Teil ohne privaten Schlüssel) oder mit dem SHA-1-Hash des Zertifikats durchführen.

Hier ist ein Beispiel für das Signieren mit einem Zertifikat-Hash:

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

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

Dateien Signieren mit Jarsigner

Jarsigner können Sie zusammen mit KeyLocker durch Verwendung der PKCS11-Bibliothek verwenden; Sie können einfach mit SMCTL signieren oder direkt mit Jarsigner und der PKCS11-Bibliothek.

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"

Die Richtigkeit der Signatur kann durch den Befehl überprüft werden: jarsigner -verify -certs -verbose

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

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

Dieses Werkzeug bietet eine grafische Schnittstelle zur Erleichterung der Dateisignatur. Das Ergebnis und das Prinzip des Signierens unterscheiden sich jedoch nicht von den Befehlszeilenwerkzeugen, die im Gegenteil eine detailliertere Einstellung der Signaturparameter ermöglichen. 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 Einrichtungsassistenten für Secrets in KeyLocker zu durchlaufen. Der Assistent testet nicht nur die Verbindung zur Cloud, sondern er richtet insbesondere diese Variablen im System ein! Sie müssen sie also nicht manuell einrichten.

Das Signieren mit diesem Werkzeug ist maximal einfach – Sie klicken mit der rechten Maustaste auf die Datei, die Sie signieren möchten, und wählen im Menü Click to Sign. Dann können Sie direkt signieren oder mit Bestätigung der Signatureinstellungen.

Überprüfung vor dem Signieren in DigiCert​​®​​ Click-to-sign

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

Hinweis: Wenn Click-to-sign nicht funktioniert, fügen Sie der PATH-Variable die Pfade zum Click-to-sign selbst sowie zur Signaturanwendung (Signtool) hinzu, getrennt durch Semikolons. Beispiel:
Pfad: 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 die Integration in den CI/CD-Workflow. DigiCert bietet eine Vielzahl von Skripten und Plugins für die am häufigsten verwendeten Entwicklertools und Plattformen an. Die Plugins sind für Azure DevOps, GitHub und Jenkins verfügbar. Sie bieten noch mehr Integrationsskripte für die PKCS11-Bibliothek an.

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

Dokumentation und weitere Ressourcen: