Oppure

Loading
12/01/08 18:05
finanza
Ciao a tutti, questa volta ho un problema sulla memorizzazione in un file di una chiave simmetrica. La cifro con RSA (ho un keypair RSA e quindi è inutile crearne un altro), la salvo su un file, ma quando vado a leggerla supera la lunghezza massima supportata da RSA (256 byte). Ho provato a salvare chiavi DES, 3DES, AES e Blowfish ma il file che si crea è sempre di 283byte. Mi è quindi impossibile recuperare la chiave! Insomma, come è possibile che persino una chiave DES da 64byte cifrata e memorizzata dia luogo ad un file così grande?!
Ultima modifica effettuata da finanza 12/01/08 18:08
aaa
13/01/08 10:04
netarrow
qui hai un esempio su come salvare una chiave blowfish cifrata con RSA: pierotofy.it/pages/sorgenti/browse/14684/593/

con una AES dovrebbe essere lo stesso.

Ad ogni modo c'è un alternativa per salvare chiavi in modo sicuro che è intrinsica nella classe Cipher ma non è implementato in tutti i provider crittografici (di solito lo è cmq).
Mi riferisco ai metodi wrap e unwrap:

cifra una chiave
cipher.init(Cipher.WRAP_MODE, passwordKey, paramSpec);
byte[] cifrata = cipher.wrap(secretKey);


decifra:
cipher.init(Cipher.UNWRAP_MODE, passwordKey, paramSpec);
Key key = cipher.unwrap(cifrata, "AES", Cipher.SECRET_KEY):


se cerchi nella documentazione hai altre informazioni e altri esempi.
aaa
13/01/08 16:26
finanza
Grazie, ero già riuscito a risolvere! Semplicemente usavo un ObjectOutputStream. Comunque avevo provato anche con wrap ed unwrap però mi dava errore.
aaa