Decryptage fichier clé AES entre PHP et Java
Bonjour,
Dans le cadre d'échanges des fichiers avec un serveur, nous chiffrons et déchiffrons des fichiers avec AES, et nous chiffrons la clé symétrique crée avec une clé RSA
à l'aller , le chiffrage et déchiffrage se fait correctement.
cad que le serveur distant (php), récupère des fichiers chiffrés en AES + une clé symétrique chiffrée en RSA
à partir de là, il décode la clé et peut décoder les fichiers.
dans la phase retour, la clé RSA générée et envoyée en BASE64, est bien déchiffrée et l'on constate qu'elle est identique. On tente de déchiffrer les fichier avec le résultat, mais j'ai l'erreur suivante
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| javax.crypto.BadPaddingException: pad block corrupted
at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$BufferedGenericBlockCipher.doFinal(Unknown Source)
at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineDoFinal(Unknown Source)
at javax.crypto.Cipher.doFinal(Cipher.java:1970)
at com.cwfse.cryptage.CipherEncryptor.crypt(CipherEncryptor.java:63)
at com.cwfse.cryptage.SymetricEncryptor.decryptFile(SymetricEncryptor.java:608)
at com.cwfse.main.Cmain$12.handleEvent(Cmain.java:566)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at com.cwfse.main.Cmain.main(Cmain.java:671) |
on s'est pourtant assuré de la correspondance des IvParameterSpec, ainsi que de l’algorithme utilisé ( "AES/CBC/PKCS5Padding") de la lib bouncyCastle
je pense que mon problème vient de la génération de ma clé, mais j'ai pas d'idée pourquoi celle ci est mauvaise.
Code:
1 2 3 4 5 6
| EncryptionUtil test = new EncryptionUtil();
String clesyme =test.decrypt(toto, titi); //resultat décryptage RSA
System.out.println(clesyme);
byte[] decodedKey = Base64.decodeBase64(clesyme);
SecretKey originalKey = new SecretKeySpec(decodedKey, 0, decodedKey.length, "AES"); |
y' a t il quelque chose que j'ai mal, fait, mal compris
merci d'avance pour toute aide apportée