SealedObject - (IllegalArgumentException) Null Input Buffer
Bonjour,
J'essaye de placer un Integer (en fait un objet personnel "Trame" qui implémente bien sûr Serializable) dans un SealedObject.
Pas de problème sauf quand j'essaye de le récuperer, il me sort cette exception :
Code:
1 2 3 4
|
java.lang.IllegalArgumentException: Null input buffer
at javax.crypto.Cipher.doFinal(DashoA13*..)
at javax.crypto.SealedObject.getObject(DashoA13*..) |
Voici le code de test :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS#1", Config.getProvider());
cipher.init(Cipher.ENCRYPT_MODE, pk);
Integer test = new Integer(10);
SealedObject sobj = new SealedObject(test, cipher);
cipher.init(Cipher.DECRYPT_MODE, prk);
int test2 = (Integer) sobj.getObject(cipher);
System.out.println("test2 = " + test2); |
prk désigne une PrivateKey et pk une PublicKey (elles sont bien générées).
Si j'essaye de faire la même chose sauf qu'a la place de mettre un Integer dans mon SealedObject je mets un "String", cela marche. Uniquement avec String, pourquoi ?
Merci d'avance.