Zum Inhalt

47-Tage-Zertifikate sind in Planung. Bist du bereit?

Jetzt handeln →

Signieren Sie mit Jarsigner und der PKCS#11-Bibliothek

Jarsigner

Code Signing ist ein kritischer Prozess in der Softwareentwicklung, der die Authentizität und Integrität von Anwendungen sicherstellt und sie vor Manipulationen und unbefugten Änderungen schützt. Um diesen Prozess zu verbessern, bietet Encryption Consulting PKCS # 11 Die Bibliothek bietet eine leistungsstarke Lösung zum Durchführen von Code-Signierungen mit Jarsigner auf mehreren Betriebssystemen, einschließlich Windows, Linux (Ubuntu) und macOS.

Jarsigner

Das im Java Development Kit (JDK) enthaltene Tool Jarsigner bietet einen robusten Mechanismus zum digitalen Signieren von Dateien und ist damit ein unverzichtbares Tool für Java-Entwickler, die Anwendungen auf verschiedenen Plattformen verteilen.

Es ist hilfreich, die unten genannten Dateitypen zu signieren:

  • .Krug: Java-Archivdateien, bei denen es sich um allgemeine Archive für Java-Klassen und -Ressourcen handelt.  
  • .Ohr: Enterprise-Archivdateien, die zum Verpacken von Java EE-Unternehmensanwendungen verwendet werden.  
  • .Krieg: Web Application Archive-Dateien, die zum Verpacken von Java-Webanwendungen verwendet werden.  
  • .sar: Servicearchivdateien, die zum Verpacken von Diensten in einigen Java EE-Umgebungen verwendet werden.

Konfiguration des PKCS#11 Wrappers unter Ubuntu

Voraussetzungen:

Bevor wir uns den Signiervorgang mit dem Jarsigner-Tool und unserem PKCS11-Wrapper auf einer Linux-Maschine (Ubuntu) ansehen, stellen Sie sicher, dass Folgendes bereit ist:

  • Ubuntu-Version:Ubuntu Version 22.04 oder höher (getestete Umgebung ist Ubuntu 24.02)  
  • Abhängigkeiten:Installieren Sie liblog4cxx12 und curl. 

Um die Abhängigkeiten zu installieren, führen Sie die folgenden Befehle aus

  • sudo apt-get installieren locken 
  • sudo apt-get installiere liblog4cxx12 

Installieren des PKCS#11-Wrappers von EC 

Schritt 1:  Gehe zu EC CodeSign Secure v3.02Signiertools Abschnitt und laden Sie den PKCS#11 Wrapper für Ubuntu herunter.  

EC-Signaturtools

Schritt 2:  Anschließend generieren Sie ein P12-Authentifizierungszertifikat aus dem System-Setup > Benutzer > Authentifizierungszertifikat generieren Dropdown-Liste.

P12-Authentifizierungszertifikat

Schritt 3:  Gehen Sie zu Ihrem Ubuntu-Clientsystem und bearbeiten Sie die Konfigurationsdateien (ec_PKCS#11client.ini und PKCS#11properties.cfg) im PKCS#11 Wrapper heruntergeladen. 

Konfigurationsdateien Ubuntu bearbeiten

Installieren Sie Java auf Ihrem Ubuntu-Computer.

Sie müssen außerdem Java (Java 8-17) auf Ihrem Ubuntu-Computer installieren, damit Jarsigner mit unserem PKCS11-Wrapper funktioniert.

Schritt 1: Installieren Sie Java 17 auf Ihrem Ubuntu-Computer.

sudo apt installiere openjdk-17-jdk

Java-Befehl installieren

Schritt 2: Java 17 als aktive Version festlegen 

sudo update-alternatives –config java

aktive Version festlegen

Schritt 3: Überprüfen Sie, ob Java ordnungsgemäß installiert wurde oder nicht 

Java-Version

Java-Version prüfen

Schritt 4: Legen Sie Java 17 als aktive Version fest.

Run: Nano ~ /. Bashrc

Fügen Sie nach dem Ausführen des obigen Befehls diese Zeilen am Ende der Datei hinzu:

export JAVA_HOME=

export PATH=$JAVA_HOME/bin:$PATH

Setzen Sie die aktive Version von Java17

Drücken Sie Strg + X, dann Y zur Bestätigung und dann die Eingabetaste zum Speichern.

Schritt 5: Laden Sie die Bashrc-Datei neu

Run: Quelle ~ /. Bashrc

Schritt 6: Überprüfen Sie, ob die Variable gesetzt wurde

echo $JAVA_HOME

Wenn nicht, öffnen Sie ein neues Terminal und versuchen Sie es erneut.

Unterzeichnung

Schritt 1:  Ändern Sie das Arbeitsverzeichnis des Terminals in den Ordner, der Ihre Dateien „ec_pkcs11client.ini“ und „pkcs11properties.cfg“ enthält.

Arbeitsverzeichnis ändern

Schritt 2: Führen Sie den Signaturbefehl aus diesem Verzeichnis aus. 

-keystore KEINE -storepass KEINE -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg -signiertes Glas -tsa http://timestamp.digicert.com

Nachfolgend finden Sie einen Beispielbefehl:

jarsigner -keystore KEINE -storepass KEINE -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties.cfg -signedjar helloworld_signed.jar helloworld.jar gpg2 -tsa http://timestamp.digicert.com

Verification

Schritt 1:  Führen Sie zur Überprüfung den folgenden Befehl aus:

-verifizieren -certs -verbose

Schritt 2: Nachfolgend finden Sie einen Beispielbefehl:

jarsigner -verify helloworld_signed.jar -certs -verbose

Konfiguration des PKCS#11-Wrappers unter Windows

Voraussetzungen:

Bevor wir uns mit der Verwendung des Jarsigner-Tools und unseres PKCS11-Wrappers auf einem Windows-Computer befassen, stellen Sie sicher, dass Folgendes bereit ist:

  • Windows Version: Windows 11 (getestete Umgebung ist Windows 11 23H2) 

Installieren des PKCS#11-Wrappers von EC 

Schritt 1:  Gehen Sie zu EC CodeSign Secure v3.02 Signiertools Abschnitt und laden Sie den PKCS#11 Wrapper für Windows herunter.  

Fenster des EC-Signaturtools

Schritt 2:  Anschließend generieren Sie ein P12-Authentifizierungszertifikat aus dem System-Setup > Benutzer > Authentifizierungszertifikat generieren Dropdown-Liste.

P12-Authentifizierungszertifikat

Schritt 3:  Gehen Sie zu Ihrem Windows-Clientsystem und bearbeiten Sie die Konfigurationsdateien (ec_PKCS#11client.ini und PKCS#11properties.cfg) im PKCS#11 Wrapper heruntergeladen. 

Konfigurationsdateien bearbeiten
Konfigurationsdateien bearbeiten

Installieren Sie Java auf Ihrem Windows-Computer

Sie müssen außerdem Java (Java 8-22) auf Ihrem Windows-Computer installieren, damit Jarsigner mit unserem PKCS11-Wrapper funktioniert.

Schritt 1: Installieren Sie Java 22 (.exe-Installer) auf Ihrem Windows-Computer von Orakels offizielle Seite.

Java-Windows installieren

Schritt 2: Befolgen Sie die Anweisungen, um Java 22 auf Ihrem Computer zu installieren.

Java-Installationsschritte
Java-Installationsschritte

Schritt 3: Legen Sie Java 22 als aktive Version fest, indem Sie den Bin-Pfad in der Variable PATH speichern.

Java als aktive Version festlegen

Unterzeichnung

Schritt 1: Ändern Sie das Arbeitsverzeichnis des Terminals in den Ordner, der Ihre Dateien „ec_pkcs11client.ini“ und „pkcs11properties.cfg“ enthält.

Arbeitsverzeichnis ändern

Schritt 2: Führen Sie den Signaturbefehl aus diesem Verzeichnis aus. 

-keystore KEINE -storepass KEINE -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg -signiertes Glas -tsa http://timestamp.digicert.com

Nachfolgend finden Sie einen Beispielbefehl:

jarsigner -keystore KEINE -storepass KEINE -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties.cfg -signedjar helloworld_signed.jar helloworld.jar gpg2 -tsa http://timestamp.digicert.com

Verification

Schritt 1:  Führen Sie zur Überprüfung den folgenden Befehl aus:

-verifizieren -certs -verbose

Schritt 2: Nachfolgend finden Sie einen Beispielbefehl:

jarsigner -verify helloworld_signed.jar -certs -verbose

Konfiguration des PKCS#11 Wrappers unter MacOS

Voraussetzungen:

Bevor wir uns mit der Verwendung des Jarsigner-Tools und unseres PKCS11-Wrappers auf einem MacOS-Computer befassen, stellen Sie sicher, dass Folgendes bereit ist:

  • MacOS-Version: Sequoia 15.2 (getestete Umgebung Sequoia 15.2) 
  • Abhängigkeiten:Installieren Sie liblog4cxx und curl. 

Um die Abhängigkeiten zu installieren, führen Sie die folgenden Befehle aus

  • brew installieren curl
  • brew install log4cxx

Installieren des PKCS#11-Wrappers von EC 

Schritt 1:  Gehen Sie zu EC CodeSign Secure v3.02 Signiertools Abschnitt und laden Sie den PKCS#11 Wrapper für MacOS herunter.  

EC-Signaturtools für Mac

Schritt 2:   Anschließend generieren Sie ein P12-Authentifizierungszertifikat aus dem System-Setup > Benutzer > Authentifizierungszertifikat generieren Dropdown-Liste.

P12-Authentifizierungszertifikat

Schritt 3:  Gehen Sie zu Ihrem MacOS-Clientsystem und bearbeiten Sie die Konfigurationsdateien (ec_PKCS#11client.ini und PKCS#11properties.cfg) im PKCS11-Wrapper heruntergeladen.

Konfigurationsdatei bearbeiten

Installieren Sie Java auf Ihrem MacOS-Computer.

Sie müssen außerdem Java (Java 8-17) auf Ihrem MacOS-Computer installieren, damit Jarsigner mit unserem PKCS11-Wrapper funktioniert.

Schritt 1: Installieren Sie Java 17 auf Ihrem MacOS-Computer.

brew install openjdk@17

Schritt 2: Suchen Sie den Speicherort, an dem Java 17 auf Ihrem Computer installiert ist

Brew-Informationen an openjdk@17

Schritt 3: Legen Sie Java 17 als aktive Version fest.

Für Zsh: nano ~/.zshrc

Für Bash: nano ~ / .bash_profile

Fügen Sie nach dem Ausführen des obigen Befehls diese Zeilen hinzu:

export PATH= :$PFAD

export JAVA_HOME=

Java als aktiv festlegen

Schritt 4: Laden Sie die Umgebungsvariablen neu

Für Zsh: Quelle ~/.zshrc 

Für Bash: source ~ / .bash_profile

Unterzeichnung

Schritt 1: Ändern Sie das Arbeitsverzeichnis des Terminals in den Ordner, der Ihre Dateien „ec_pkcs11client.ini“ und „pkcs11properties.cfg“ enthält.

Schritt 2: Führen Sie den Signaturbefehl aus diesem Verzeichnis aus. 

-keystore KEINE -storepass KEINE -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg -signiertes Glas -tsa http://timestamp.digicert.com

Nachfolgend finden Sie einen Beispielbefehl:

jarsigner -keystore KEINE -storepass KEINE -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties.cfg -signedjar helloworld_signed.jar helloworld.jar gpg2 -tsa http://timestamp.digicert.com

Verification

Schritt 1:  Führen Sie zur Überprüfung den folgenden Befehl aus:

-verifizieren -certs -verbose

Schritt 2: Nachfolgend finden Sie einen Beispielbefehl:

jarsigner -verify helloworld_signed.jar -certs -verbose

Enterprise Code-Signing-Lösung

Holen Sie sich mit unserer Code-Signing-Lösung eine Lösung für alle Ihre kryptografischen Software-Code-Signing-Anforderungen.

Fazit

CodeSign Secure von Encryption Consulting bringt Code Signing auf die nächste Ebene und bietet eine umfassende Plattform, die nicht nur den Signierprozess optimiert, sondern auch die Unternehmenssicherheit deutlich erhöht. Durch die Nutzung erweiterter Funktionen wie Hardware-Sicherheitsmodul Durch Integration, clientseitiges Hashing und Virenscans stellt CodeSign Secure sicher, dass Signaturschlüssel geschützt bleiben und signierte Anwendungen frei von Malware sind.

CodeSign Secure lässt sich mühelos in CI/CD-Pipelines integrieren und ist daher ideal für Unternehmen, die ihre Entwicklungsabläufe automatisieren und skalieren und gleichzeitig strenge Sicherheitsrichtlinien einhalten möchten. Detaillierte Prüfpfade und die Durchsetzung von Richtlinien sorgen für Transparenz und Verantwortlichkeit und helfen Unternehmen, Compliance-Anforderungen zu erfüllen und das Vertrauen ihrer Benutzer zu gewinnen.

Durch die nahtlose Integration mit Jarsigner vereinfacht die PKCS#11-Bibliothek von Encryption Consulting die Konfiguration und Ausführung von Signaturaufgaben und bietet plattformunabhängig ein konsistentes und sicheres Erlebnis. Ob Sie unter Windows entwickeln, unter Ubuntu bereitstellen oder unter macOS testen – diese Bibliothek ermöglicht es Entwicklern, hohe Sicherheitsstandards bei minimaler Komplexität einzuhalten.