2009-08-18 16 views
8

Utilizzo il provider bouncy castle per la crittografia AES. Ho bisogno di creare un barattolo di grasso da bc e dal mio barattolo, ma appena lo faccio ottengo Algoritmo che non trova eccezioni. È possibile sbarazzarsi del segno e creare un vaso regolare fuori da esso?Non firmare un jar firmato

mio processo di compilazione è ..

  • i decomprimere tutti vasetti di mia directory di compilazione.
  • quindi rimuovere directory META-INF
  • compilare la mia applicazione
  • vaso utilizzando formica

iget l'errore quando si tenta di utilizzare il

SecretKeyFactory.getInstance (algoritmo);

l'algoritmo è PBEWITHSHA256AND128BITAES-CBC-BC dal castello gonfiabile.

+0

Informazioni insufficienti. * Esattamente * quando ricevi l'errore? * Esattamente * qual è il messaggio di errore? Martin ha ragione sui file SF/DSA, inoltre potresti dover rimuovere anche i digest da MANIFEST.MF. Non è una buona idea rimuovere completamente la directory META-INF (non è sicuro che sia un JAR valido senza manifest) –

+0

per favore chiudi la tua domanda –

risposta

9

Quando si firma un file jar, i nuovi file vengono aggiunti alla directory META-INF, ad es. "MKSIGN.SF" e "MKSIGN.DSA". Basta rimuoverli dal file jar (con qualsiasi utility zip), e lo hai senza firma.

+0

Io rimuovo completamente la directory META-INF ancora non ottengo alcuna eccezione algoritmica –

+3

Questo non è pratico. Quando il certificato scade ed è necessario firmare di nuovo 40 contenitori in quella cartella "lib", fare questo uno per uno sarebbe un problema. –

+0

cherio, questa è ancora la risposta, si potrebbe automatizzarlo programmaticamente se si dispone di 40 per non firmare. Ma invece di firmare nuovamente un jar in posizione, firmarlo in una directory diversa per evitare questo problema. – jzd

0

È necessario rimuovere i file delle firme dal contenitore firmato. Cambia la sua estensione in zip, rimuovi i file delle firme e torna a jar. Da adesso quel barattolo non è più senza segno.

6

Per rimuovere la firma da un file jar, rimuovere la directory META-INF da esso. Un file jar è un file zip, quindi su Linux è possibile eseguire questa operazione:

zip -d file.jar 'META-INF/*.SF' 'META-INF/*.RSA' 
+0

Grande - esattamente quello che mi serviva! Se ci sono più file da annullare, si può usare 'for i in * .jar; fai zip -d "$ i" 'META-INF/*. SF' 'META-INF/*. RSA'; fatto' ... – tohuwawohu

Problemi correlati