Oppure

Loading
21/01/08 15:39
finanza
Vi presento l'ennesimo problema: voglio settare una pre-shared key usando Diffie Hellman. Ho fatto tutto seguendo il tutorial presente sulla documentazione java pero quando arriva il momento di creare effettivamente la chiave
SecretKey psk = kAgreement.generateSecret("AES";);
moi genera l'errore
Unsupported secret key algorithm: AES.
Se invece provo col "DES" funziona tutto....devo dedurre che DH può essere usato solo per generare chiavi DES o 3DES?? A me ne serve una AES!!!!
Ho aggirato il problema facendo
byte[] clientSharedSecret = ka.generateSecret();
SecretKey psk = new
SecretKeySpec(clientSharedSecret, SYMM_ALG);
poi salvo la chiave, ma quando la rileggo mi dà
Invalid AES key length: 512
MA com'è possibile che mi genera una chiave AES di 512 bit?! Non capisco...
Ultima modifica effettuata da finanza 21/01/08 15:45
aaa
22/01/08 9:31
finanza
Mi sono risolto anche questo problema...ecco la soluzione:

ka.generateSecret(serverSharedSecret, 0);
SecureRandom sr = SecureRandom.getInstance("SHA1PRNG";);
sr.setSeed(serverSharedSecret);
byte[] rawKey = new byte[16]; // size of AES key
sr.nextBytes(rawKey);
SecretKey psk = new SecretKeySpec(rawKey, "AES";);


aaa