jarsigner fügt der angegebenen JAR-Datei eine digitale Signatur hinzu oder überprüft, wenn die Option -verify angegeben ist, die bereits an die JAR-Datei angehängte(n) digitale(n) Signatur(en). Der angegebene Unterzeichner ist ein Kurzname oder Alias ohne Berücksichtigung der Groß-/Kleinschreibung für die Entität, deren Signatur verwendet werden soll. Der angegebene Unterzeichnername wird verwendet, um den privaten Schlüssel zu suchen, der die Signatur generiert.
Wenn beim Ausführen des Befehls jarsigner der folgende Fehler auftritt:
jarsigner: command not found
Sie können versuchen, das folgende Paket gemäß Ihrer Distributionswahl zu installieren.
Verteilung | Befehl |
---|---|
Debian | apt-get install gcj-4.7-jdk |
Ubuntu | apt-get install openjdk-12-jdk-headless |
Arch Linux | pacman -S java-environment-common |
Kali-Linux | apt-get install openjdk-11-jdk-headless |
Fedora | dnf install java-9-openjdk-devel-debug-1 |
Raspbian | apt-get install openjdk-8-jdk |
Befehlsoptionen
Option | Beschreibung |
---|---|
-Zertifikate | Wenn diese Option zusammen mit der Option -verify oder -verbose angegeben wird, veranlasst sie jarsigner, Details der öffentlichen Schlüsselzertifikate anzuzeigen, die der signierten JAR-Datei zugeordnet sind. |
-J javaoption | Übergibt die angegebene javaoption direkt an den Java-Interpreter. |
-keypass-Passwort | Gibt das Passwort an, das den privaten Schlüssel des angegebenen Unterzeichners verschlüsselt. Wenn diese Option nicht angegeben ist, fordert jarsigner Sie zur Eingabe des Passworts auf. |
-Schlüsselspeicher-URL | Ein Schlüsselspeicher ist eine Datei, die Schlüssel und Zertifikate enthält. |
-Sigfile-Basisname | Gibt die Basisnamen der .SF- und .DSA-Dateien an, die dem META-INF/-Verzeichnis der JAR-Datei hinzugefügt wurden. |
-signedjar-Ausgabedatei | Gibt den Namen für die signierte JAR-Datei an, die von jarsigner erstellt wurde. |
-storepass-Passwort | Gibt das Passwort an, das die Integrität des Schlüsselspeichers verifiziert (aber den privaten Schlüssel nicht verschlüsselt). Wenn diese Option weggelassen wird, fordert jarsigner Sie zur Eingabe des Passworts auf. |
-Geschäftstyp | Gibt den Schlüsselspeichertyp an, der durch die Option -keystore angegeben wird. |
-verbose | Zeigt zusätzliche Informationen zum Signier- oder Verifizierungsprozess an. |
-verifizieren | Gibt an, dass jarsigner die angegebene JAR-Datei überprüfen soll, anstatt sie zu signieren. |
jarsigner-Befehlsbeispiele
1. Signieren Sie eine JAR-Datei:
# jarsigner path/to/file.jar keystore_alias
2. Signieren Sie eine JAR-Datei mit einem bestimmten Algorithmus:
# jarsigner -sigalg algorithm path/to/file.jar keystore_alias
3. Überprüfen Sie die Signatur einer JAR-Datei:
# jarsigner -verify path/to/file.jar
4. Signieren Sie eine .jar-Datei von mehreren Benutzern:
$ jarsigner test.jar geek ## User geek signs it $ jarsigner test.jar geeky ## User geeky signs it
Schlussfolgerung
Der Befehl jarsigner signiert oder überprüft .jar-Dateien. Das Hinzufügen einer digitalen Signatur zu einer .jar-Datei erhöht deren Sicherheit, da eine Änderung des Inhalts dazu führt, dass die Signatur ungültig wird. jarfile ist die zu signierende Originaldatei; Alias ist ein anerkannter Alias für die Identität des Unterzeichners. Standardmäßig ersetzt der Jarsigner die Originaldatei durch die signierte. Dies kann mit der Option -signedjar geändert werden.