Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Problema uso di RSA
Forum - Java - Problema uso di RSA

Avatar
Michela (Normal User)
Newbie


Messaggi: 1
Iscritto: 12/03/2007

Segnala al moderatore
Postato alle 23:55
Lunedì, 12/03/2007
Per favore aiutatemi ho un piccolo problemino..
Bene, effettuo la cifratura tramite :

RSACipher.init(Cipher.ENCRYPT_MODE,publicKey);

di una stringa, e fino a qua tutto bene; poi salvo il risultato CIFRATO in una nuova stringa che invio tramite TCP, a questo punto il ricevente con la sua chiave Privata potrà decifrare il msg,
ma ho questo errore:

javax.crypto.IllegalBlockSizeException: Data must not be longer than 128 bytes

Allora mi sono chiesta ma è possile passare da byte-> Stringhe e viceversa.. potete aiutarmi.
Grazie


PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 22:48
Martedì, 13/03/2007
l'errore molto probabilmente è causa da un limite che ha RSA: non può crittografare testi più grandi di 128 bytes.
La dimensione se non erroro varia dalla dimensione della chiave, quel limite riguarda chiavi a 1024 bit.

Per queste cose dovresti usare una chiave di sessione quindi usare cirfatura simmetrica per cifrare il testo e la chiave usata codificarla in RSA, a questo punto lo scambio della chiave lo effettui col metodo della chiave pubblica privata.

In alternativa usi SSL che in Java è già implementato nella libreria JSSE: Java Secure Socket Extension

Praticamente un'estensione delle classiche Socket per fare in modo che dopo un'inizializzazione un pò diversa(per passare i vari parametri aggiuntivi riguardo la sicurezza) tu possa gestire connessioni crittografate in modo trasparente
;) (cioè, tu inizializzi una SSLSocket a dovere, ma poi nel gestirla e come usare una socket normale, e senza renders conto è tutto "sotto scorta")

PM Quote
Avatar
lorelapo (Ex-Member)
Expert


Messaggi: 355
Iscritto: 28/02/2007

Segnala al moderatore
Postato alle 14:41
Sabato, 17/03/2007
Testo quotato


Allora mi sono chiesta ma è possile passare da byte-> Stringhe e viceversa.. potete aiutarmi.
Grazie


intendi passare da char[] a String e da String a char[]?

PM Quote