I'm signing some data on a JavaCard with a cipher, then outputting it into a text file, reading it into a java program and trying to verify it. I keep getting a BadPaddingException.
I'm signing it like so on my JavaCard applet:
Cipher cipher = Cipher.getInstance(Cipher.ALG_RSA_PKCS1, false);
cipher.init(key.getPrivate(), Cipher.MODE_ENCRYPT);
short sigCipherLength = cipher.doFinal(inputArray, inputOffset, inputLength, outputArray, outputOffset);
And verifying it like this (on my Java program):
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.DECRYPT_MODE, publicKey);
byte[] decryptedText = cipher.doFinal(inputArray);
When using Cipher.getInstance with "RSA" it defautls to RSA/ECB/RKPCS1Padding does it not? I'm stuck on how to get rid of the error.
Edit: to change encryption and decyrption to sign and verify, for clarity
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…