Ciao a tutti,
ho cryptato un file zippato tramita la classe javax.crypto. Dopo averlo decryptato provo a fare l'unzip tramite la classe Inflater, ma restituisce questo errore:
"javax.servlet.ServletException: need dictionary"

La classe che ho creato per unzippare dati non cryptati funziona e funziona anche la classe che decrypta, non so perchè però se crypto il messaggio zippato non riesco più a dezipparlo dopo averlo decryptato.

Per settare il dictionary uso la classe consigliata getAdler e poi faccio setDictionary ma non funziona..

Vi posto un pezzo di codice


ByteArrayOutputStream bs = new ByteArrayOutputStream();
Inflater decomp = new Inflater();
byte[] buffer = new byte[1024];
try {
decomp .setInput(binMsg);

while (!decomp .finished()) {

if(decomp .needsDictionary()){
int adler = decomp .getAdler();
decomp .setDictionary(buffer,0,adler);
}

int count = decomp .inflate(buffer);

bs .write(buffer, 0, count);
}

} catch (Exception e) {
System.out.println("Exception:" + e.toString());
}
Ho cercato documentazione in giro ma non ho trovato granchè

Grazie.