Sorry - I forgot that from your original posts. I do suggest exporting the private key and doing a manual decrypt to find out how the card encrypts the data.
byte[] ciphertext (after the card encrypts your data) byte[] privateModulus byte[] privateExponent BigInteger cipherBig = new BigInteger (1, ciphertext); BigInteger modBig = new BigInteger (1, privateModulus); BigInteger expBig = new BigInteger (1, privateExponent); BigInteger plaintextBig = cipherBig.modpow(expBig, modBig); The last 4 octets of plaintextBig.toByteArray() should be your 01 02 03 04 bytes. The rest should be the padding. Mike At 12:27 PM 5/1/2009, jose85 wrote: >No my initial text was only 4 bytes array, like in the first post, >but once it is crypted by the card the length is 128 bytes . > > >OK - I think I see one more possibility for the problem. If you're using >padding, then the plain text MUST be shorter than the key length to allow >for the addition of padding. Reduce the cipher text by 20 octets and try >again. > >Mike > > >-- >View this message in context: >http://www.nabble.com/Export-RSA-public-key-out-of-the-card-tp23239829p23335864.html >Sent from the MuscleCard mailing list archive at Nabble.com. > >_______________________________________________ >Muscle mailing list >[email protected] >http://lists.drizzle.com/mailman/listinfo/muscle _______________________________________________ Muscle mailing list [email protected] http://lists.drizzle.com/mailman/listinfo/muscle
