en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

Microsoft Authenticode Code Signieren unter Linux mit Jsign

Jsign ist ein plattformunabhängiges Open-Source-Java-Tool für die Microsoft Authenticode-Codesignatur. Jsign lässt sich leicht in Build-Systeme wie Maven, Gradle und Ant integrieren oder direkt über die Befehlszeile verwenden.

In dieser Anleitung werden wir uns mit der Verwendung befassen Jsign von der Linux-Kommandozeile für OV / IV-Codesignatur . EV-Codesignatur. Da Jsign Java-basiert ist, können Sie es auch auf Windows- und MacOS-Systemen verwenden.

Installieren Sie Jsign

Zuerst müssen Sie Jsign herunterladen und installieren. Das Jsign Website Enthält Links zu Debian- und RPM-Paketen für die einfache Installation auf den meisten gängigen Linux-Systemen sowie a .jar Datei.

OV / IV-Codesignatur

Für die Standard-OV / IV-Codesignatur können Sie ein Zertifikat verwenden, das in einem Java-Keystore oder einer PKCS # 12 (PFX) -Datei gespeichert ist. SSL.com liefert Codesignaturzertifikate im PKCS # 12-Format, daher verwenden wir dies für unser Beispiel. Ersetzen Sie in allen folgenden Codebeispielen die in ALL-CAPS angezeigten Werte durch Ihre tatsächlichen Werte.

  1. Verwenden Sie zuerst die keytool Befehl, um die zu bekommen alias Wert, der beim Signieren verwendet werden soll:
    keytool -list -v -keystore PKCS12-FILE.p12 -storetype PKCS12 -storepass PKCS12-PASSWORD
  2. Überprüfen Sie die Ausgabe Ihres keytool Befehl für eine Zeile beginnend mit Alias name:.
    Keystore-Typ: PKCS12 Keystore-Anbieter: SUN Ihr Keystore enthält 1 Eintrag Aliasname: 1 Erstellungsdatum: 18. Januar 2021 Eintragstyp: PrivateKeyEntry Zertifikatskettenlänge: 4 ...

    Im obigen Beispiel ist Alias name is 1.

  3. Verwenden Sie einen Befehl wie den folgenden, um eine Datei zu signieren und mit einem Zeitstempel zu versehen:
    • jsign Befehl systemweit installiert:
      jsign --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • Mit Jsigner .jar Datei:
      java -jar jsign-3.1.jar --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO- ZEICHEN
  4. Wenn Ihr Befehl erfolgreich ist, sollten Sie die folgende Ausgabe sehen:
    Hinzufügen einer Authenticode-Signatur zu example.exe

EV-Code-Signierung

Sie können Jsign auch mit einem EV-Codesignaturzertifikat verwenden. Das Beispiel hier verwendet eine SSL.com EV-Codesignaturzertifikat auf einem YubiKey FIPS-Token installiert.

  1. Stellen Sie zunächst sicher, dass OpenSC ist auf Ihrem System installiert, damit es über die PKCS # 11-API mit Ihrem Token kommunizieren kann. Auf Debian-basierten Distributionen wie Ubuntu können Sie OpenSC mit installieren apt:
    sudo apt install opensc
  2. Erstellen Sie als Nächstes eine Konfigurationsdatei. Der Name der Datei ist beliebig, aber für die folgenden Beispielbefehle verwenden wir eToken.cfg. Beachten Sie, dass der Pfad zu opensc-pkcs11.so kann in Ihrer OpenSC-Installation variieren. Überprüfen Sie dies, bevor Sie die Konfigurationsdatei erstellen.
    name = OpenSC-PKCS11 description = SunPKCS11 über OpenSC library = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so slotListIndex = 0
  3. Verwenden Sie das keytool Befehl, um die zu bekommen alias Wert, der beim Signieren verwendet werden soll:
    keytool -list -v -keystore NONE -storetype PKCS11 -storepass TOKEN-PIN -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
  4. Überprüfen Sie die Ausgabe Ihres keytool Befehl für eine Zeile beginnend mit Alias name:. Wenn Ihr Token mehrere Zertifikate enthält, überprüfen Sie die Gültigkeitsdaten und den Aussteller in der Ausgabe anhand Ihres Zertifikats. Beachten Sie, dass auf YubiKey von SSL.com ausgestellte EV-Codesignaturzertifikate den Aliasnamen haben sollten Certificate for PIV Authentication.
    Aliasname: Zertifikat für PIV-Authentifizierung Eintragstyp: PrivateKeyEntry Zertifikatskettenlänge: 1 Zertifikat [1]: Eigentümer: OID.1.3.6.1.4.1.311.60.2.1.3 = US, OID.1.3.6.1.4.1.311.60.2.1.2 .2.5.4.15 = Nevada, OID.20081614243 = Private Organisation, CN = SSL Corp., SERIALNUMBER = NV2, O = SSL Corp., L = Houston, ST = TX, C = US-Emittent: CN = SSL.com EV Code Signing Intermediate CA RSA R7299, O = SSL Corp, L = Houston, ST = Texas, C = US Seriennummer: 93f57a3bac6570c781580f63172e17 Gültig von: Fr 12 Apr 46:04:2020 EDT 17 bis: Sa 12 Apr 46:04:2021 EDT XNUMX
  5. Verwenden Sie einen Befehl wie den folgenden, um eine Datei zu signieren und mit einem Zeitstempel zu versehen:
    • jsign Befehl systemweit installiert:
      jsign --keystore eToken.cfg --alias "Zertifikat für PIV-Authentifizierung" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • Mit Jsigner .jar Datei:
      java -jar jsign-3.1.jar --keystore eToken.cfg --alias "Zertifikat für PIV-Authentifizierung" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE -UNTERSCHREIBEN
  6. Wenn Ihr Befehl erfolgreich ist, sollten Sie die folgende Ausgabe sehen:
    Hinzufügen einer Authenticode-Signatur zu example.exe

Überprüfen Sie die digitale Signatur

  1. Sie können überprüfen, ob Ihre digitale Signatur gültig ist, indem Sie die Signaturdetails in Windows anzeigen.
    Digitale Signatur ist in Ordnung
  2. Sie können auch SignTool in Windows, um die digitale Signatur zu überprüfen.
    signtool.exe verify / pa 'C: \ Benutzer \ Aaron Russell \ Desktop \ example.exe' Datei: C: \ Benutzer \ Aaron Russell \ Desktop \ example.exe Indexalgorithmus Zeitstempel ============ ============================= 0 sha256 RFC3161 Erfolgreich überprüft: C: \ Users \ Aaron Russell \ Desktop \ example.exe

Verwandte wie Tos

Abonnieren Sie den Newsletter von SSL.com

Was ist SSL /TLS?

Video abspielen

Abonnieren Sie den Newsletter von SSL.com

Verpassen Sie keine neuen Artikel und Updates von SSL.com