jarsigner aggiunge una firma digitale al file jar specificato oppure, se viene specificata l'opzione -verify, verifica la firma digitale o le firme già allegate al file JAR. Il firmatario specificato è un nickname o un alias senza distinzione tra maiuscole e minuscole per l'entità la cui firma deve essere utilizzata. Il nome del firmatario specificato viene utilizzato per cercare la chiave privata che genera la firma.
Se si verifica l'errore seguente durante l'esecuzione del comando jarsigner:
jarsigner: command not found
puoi provare a installare il pacchetto seguente secondo la tua scelta di distribuzione.
Distribuzione | Comando |
---|---|
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 |
Opzioni di comando
Opzione | Descrizione |
---|---|
-certs | Se questa opzione è specificata insieme all'opzione -verify o -verbose, fa in modo che jarsigner visualizzi i dettagli dei certificati di chiave pubblica associati al file JAR firmato. |
-J javaoption | Passa l'opzione java specificata direttamente all'interprete Java. |
-password password | Specifica la password che crittografa la chiave privata del firmatario specificato. Se questa opzione non è specificata, jarsigner richiede la password. |
-URL keystore | Un keystore è un file che contiene chiavi e certificati. |
-sigfile nome base | Specifica i nomi di base dei file .SF e .DSA aggiunti alla directory META-INF/ del file JAR. |
-signedjar file di output | Specifica il nome per il file JAR firmato creato da jarsigner. |
-password storepass | Specifica la password che verifica l'integrità del keystore (ma non crittografa la chiave privata). Se questa opzione viene omessa, jarsigner richiede la password. |
-tipo di negozio | Specifica il tipo di keystore specificato dall'opzione -keystore. |
-verbose | Visualizza informazioni aggiuntive sul processo di firma o verifica. |
-verifica | Specifica che jarsigner deve verificare il file JAR specificato anziché firmarlo. |
Esempi di comandi jarsigner
1. Firma un file JAR:
# jarsigner path/to/file.jar keystore_alias
2. Firma un file JAR con un algoritmo specifico:
# jarsigner -sigalg algorithm path/to/file.jar keystore_alias
3. Verifica la firma di un file JAR:
# jarsigner -verify path/to/file.jar
4. Firma un file .jar da più utenti:
$ jarsigner test.jar geek ## User geek signs it $ jarsigner test.jar geeky ## User geeky signs it
Conclusione
Il comando jarsigner firma o verifica i file .jar. L'aggiunta di una firma digitale a un file .jar ne migliora la sicurezza, poiché la modifica del contenuto rende la firma non valida. jarfile è il file originale da firmare; alias è un alias riconosciuto per l'identità del firmatario. Per impostazione predefinita, jarsigner sostituisce il file originale con quello firmato. Questo può essere modificato con l'opzione -signedjar.