Přeskočit na obsah
  1. Hauptseite
  2. Zertifikate für Signierung
  3. Code Signing Zertifikate
  4. Signieren mit KeyLocker cloud HSM

Signieren mit KeyLocker cloud HSM

In diesem Artikel erfahren Sie, wie Sie mit der Cloud und KeyLocker HSM signieren können. Das Tutorial ist für alle Plattformen und verschiedene Signierwerkzeuge relevant - von signtool bis jarsigner. Die bereitgestellten Informationen sind auch die Grundlage für das Signieren mit dem Software Trust Manager von DigiCert ONE; das Signierprinzip gilt für beide Dienste.

KeyLocker-Kompatibilität

Bevor Sie KeyLocker ausprobieren, fragen Sie sich vielleicht, ob Sie es in Ihrem Arbeitsablauf verwenden können und ob es für Sie funktionieren wird. KeyLocker und die zugehörigen Bibliotheken unterstützen (wie auch Software Trust Managet in DC1) Signierwerkzeuge von Drittanbietern. Eine vollständige Liste der Dateiformate, die Sie mit kompatiblen Tools unter Verwendung von KeyLocker signieren können, finden Sie in dem Artikel über die Integration von Signierwerkzeugen auf der DigiCert-Website: Signing tool integration.

Hier werde ich nur das am häufigsten verwendete Signtool in 32b und 64b Versionen erwähnen:

  • 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

Assistent im KeyLocker

Nachdem Sie sich bei KeyLocker angemeldet haben, sehen Sie einen Einrichtungsassistenten, der Ihnen beim Herunterladen der DigiCert ONE Clients-Anwendung hilft. Mit dieser melden Sie sich am Computer bei Ihrem KeyLocker-Konto an, es werden die benötigten Bibliotheken einschließlich SMCTL installiert und im System werden Variablen für die Authentifizierung eingerichtet. Gegenüber dem bisherigen Verfahren stellt dies eine erhebliche Erleichterung dar.

Im ersten Schritt des KeyLocker-Assistenten laden Sie die DigiCert ONE Clients-Anwendung herunter, installieren sie und starten sie. Die Anmeldung ist dieselbe, die Sie für die Web-Oberfläche von KeyLocker eingerichtet haben.

Die Authentifizierungsdaten erhalten Sie im KeyLocker-Assistenten
Die 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
Installation von SMCTL

Nach der Installation sehen Sie die Auswahl zwischen drei möglichen Arten, die KeyLocker-Variablen im System zu speichern. Wir empfehlen, die Standardoption „Store my credentials" beizubehalten. Die Daten werden im System gespeichert und Sie müssen sich vor jedem Signieren nicht erneut bei Ihrem Konto anmelden.

Auswahl der Authentifizierungsmethode für KeyLocker
Auswahl der Authentifizierungsmethode für KeyLocker

Wenn Sie die Option der Speicherung im System wählen, dann befinden sich die Credentials in Windows im Anmeldeinformationsverwaltung (Credential Manager).

Die Zugangsdaten zu KeyLocker sind in der Anmeldeinformationsverwaltung (Credential Manager) gespeichert
Die Zugangsdaten zu KeyLocker sind in der Anmeldeinformationsverwaltung (Credential Manager) gespeichert. Dort bleiben sie für immer und Sie müssen sie nicht erneut eingeben.

Nach der Einrichtung der Anmeldedaten im System, die die DigiCert ONE Clients-Anwendung automatisch vornimmt, gehen Sie zum dritten Schritt des Assistenten über. Dieser wird nun von Ihnen verlangen, in Ihrem System den Befehl SMCTL healthcheck auszuführen, der die Kommunikation der lokalen Umgebung mit KeyLocker und die korrekte Authentifizierung testet. Alles sollte reibungslos ablaufen, bestätigen Sie also „I have run the healthcheck command in SMCTL" und klicken Sie auf die Schaltfläche Check Status.

Test der korrekten Einrichtung
Test der korrekten Einrichtung

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

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

KeyLocker Setup Complete
KeyLocker Setup Complete

Signieren von Dateien

Für das Signieren empfehlen wir vorrangig die Verwendung des SMCTL-Dienstprogramms, das in der Befehlszeile (CLI) funktioniert. Die zweite Variante ist das DigiCert Click-to-sign-Dienstprogramm (siehe letzter Absatz).

Anleitungen zum Signieren von Dateien für die wichtigsten Plattformen (Authenticode, Docker, Java...) finden Sie direkt in der Web-Oberfläche von KeyLocker. Nach Abschluss des Assistenten (Überschrift „Setup complete!") können Sie auf eine der angebotenen Plattformen klicken, und die Oberfläche zeigt Ihnen den vorbereiteten Befehl unter Verwendung des ausgewählten Zertifikats. Es reicht, ihn in die CLI zu kopieren und die zu signierende Datei anzugeben. Einfacher geht es nicht mehr!

Signieren von Dateien mit SMCTL (empfohlen)

Das Dienstprogramm SMCTL stammt von DigiCert und kann auch für die vereinfachte Dateisignierung mit Tools von Drittanbietern verwendet werden (Sie benötigen jedoch mindestens Signtool). SMCTL funktioniert mit den am häufigsten verwendeten Tools - Signtool, Apksigner, Jarsigner, Mage, Nuget. Sie finden das Tool im Ordner C:/Program Files/DigiCert/DigiCert Keylocker Tools/smctl.exe.

Im letzten Schritt des Assistenten klicken Sie auf Authenticode und im nächsten Dialog wählen Sie das in KeyLocker verfügbare Zertifikat aus. Sie erhalten den kompletten Befehl zum Signieren, in den Sie das Ziel eintragen und den Sie lokal in Ihrer CLI ausführen. Sie erhalten sofort die Bestätigung des erfolgreichen Signierens der Datei.

Anleitung zum Signieren auf der Plattform Windows - Authenticode
Anleitung zum Signieren auf der Plattform Windows - Authenticode

Die SMCTL-Dokumentation finden Sie auf der DigiCert-Website.

Signieren von Dateien mit Signtool

Das folgende Tutorial befasst sich mit dem Tool Signtool aus dem Windows SDK. Es ist das am häufigsten verwendete Signierwerkzeug auf der Windows-Plattform.

Dem Signtool-Befehl muss angegeben werden, welche Datei man signieren möchte, mit welchem Zertifikat signiert werden soll und alle damit verbundenen Parameter. Sie können sich auf verschiedene Arten auf das Signierzertifikat beziehen - Sie können Signtool automatisch ein Zertifikat auf der Grundlage der Speicherung auswählen lassen; Sie können entweder eine spezifische Zertifikatsauswahl treffen, indem Sie sich auf die Datei mit dem gespeicherten Zertifikat beziehen (natürlich nur auf den öffentlichen Teil ohne den privaten Schlüssel), oder Sie können den SHA-1-Hash des gegebenen Zertifikats verwenden.

Hier ein Beispiel für das Signieren mit einem Zertifikathash:

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. Sie können die Signatureigenschaften der signierten Datei auch über den Explorer und Eigenschaften (rechte Maustaste) finden.

Signieren von Dateien mit Jarsigner

Dank der PKCS11-Bibliothek können Sie Jarsigner zusammen mit KeyLocker verwenden; Sie können vereinfacht mit SMCTL 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"

Sie können die Richtigkeit der Signatur mit dem Befehl überprüfen:

jarsigner -verify  -certs -verbose

Die Dokumentation für Jarsigner finden Sie auf der DigiCert-Website.

Signieren mit DigiCert Click-to-sign

Dieses Dienstprogramm bietet eine grafische Oberfläche, um das Signieren von Dateien zu erleichtern. Das Ergebnis und das Prinzip des Signierens unterscheiden sich jedoch nicht von den Kommandozeilen-Tools; stattdessen erlauben sie detailliertere Einstellungen der Signaturparameter. DigiCert Click-to-sign verfügt nur über vereinfachte Optionen, die jedoch für die meisten Benutzer ausreichend sein dürften.

DigiCert Click-to-sign hat einen großen Vorteil - um es einzurichten, müssen Sie den KeyLocker-Assistenten für die Einrichtung der Zugangsdaten (secrets) durchlaufen. Der Assistent testet einfach Ihre Verbindung zur Cloud, aber noch wichtiger ist, dass er diese Variablen im System einrichtet! Sie müssen sie nicht manuell einstellen.

Das Signieren mit diesem Tool ist so einfach wie möglich: Klicken Sie mit der rechten Maustaste auf die zu signierende Datei und wählen Sie im Menü die Option Click to sign. Sie können dann sofort oder nach Bestätigung der Signatureinstellungen signieren.

Überprüfung vor der Unterschrift in DigiCert Click-to-sign
Überprüfung vor der Unterschrift in DigiCert Click-to-sign

Die Dokumentation für Click-to-sign finden Sie auf der DigiCert-Website.

Hinweis: Wenn Click-to-sign nicht funktioniert, setzen Sie die PATH-Variable auf die Pfade zu Click-to-sign selbst und zur Signieranwendung (signtool), getrennt durch Semikolon. 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 Fähigkeit, Signaturen zu automatisieren, indem sie in den CI/CD-Workflow integriert werden. DigiCert hat eine Reihe von Skripten und Plugins für die am häufigsten verwendeten Entwicklungstools und Plattformen vorbereitet. Plugins sind für Azure DevOps, GitHub und Jenkins verfügbar. Es gibt noch mehr Integrationsskripte für die PKCS11-Bibliothek.

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

Dokumentation und andere Ressourcen:

Haben Sie Fragen?

Zögern Sie nicht, unseren Kundensupport zu kontaktieren, der Sie berät und Ihnen hilft.

ZONER a.s.

Nové Sady 18
602 00 Brno

IČ: 49437381
DIČ: CZ49437381