Un JAR firmato è un archivio Java i cui contenuti sono associati a una firma digitale. Java può usare tale firma per verificare se l'archivio è stato modificato dopo la firma e per identificare il certificato di firma. Una firma valida contribuisce a garantire l'integrità e l'attribuzione, ma non dimostra che il codice sia sicuro.
Le firme dipendono dall'attendibilità dei certificati. Se un certificato o un'autorità di certificazione intermedia nella relativa catena non è considerata attendibile, Java può rifiutare il JAR o segnalare che non è possibile fidarsi del firmatario, anche se l'archivio non è stato alterato. Gli aggressori possono inoltre distribuire codice modificato o malevolo in archivi non firmati oppure utilizzare in modo improprio chiavi di firma rubate. I difensori dovrebbero verificare le firme dei JAR, mantenere aggiornati i runtime Java e gli archivi di certificati attendibili, proteggere le chiavi di firma del codice e testare le modifiche alle politiche dei certificati sulle applicazioni che si basano sui JAR firmati.


