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 :
Voici le code de test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 java.lang.IllegalArgumentException: Null input buffer at javax.crypto.Cipher.doFinal(DashoA13*..) at javax.crypto.SealedObject.getObject(DashoA13*..)
prk désigne une PrivateKey et pk une PublicKey (elles sont bien générées).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
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.
Partager