I have generated on my android application a pair of RSA Keys.

I receive from a web service
- an AES Key, encrypted with my RSA public key
- a String encoded with the AES key.

So I must do the following:
- decrypt the AES Key
- decrypt the string with the obtained AES Key.

To generate the RSA Keys I did:

     keyGen = KeyPairGenerator.getInstance("RSA");
      keyGen.initialize(size);
      keypair = keyGen.genKeyPair();
      privateKey = keypair.getPrivate();
      publicKey = keypair.getPublic();


On RSA decrypt I use :

  public static byte[] decryptRSA( PrivateKey key, byte[] text) throws
Exception
          {
                  byte[] dectyptedText = null;

                  Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS7Padding");
                  cipher.init(Cipher.DECRYPT_MODE, key);
                  dectyptedText = cipher.doFinal(text);
                  return dectyptedText;
          }

On AES decrypt I use:



    public static byte[] decryptAES(byte[] key, byte[] text) throws
Exception {
                SecretKeySpec skeySpec = new SecretKeySpec(key,
"AES");
                Cipher cipher = Cipher.getInstance("AES/ECB/
PKCS7Padding");
                cipher.init(Cipher.DECRYPT_MODE, skeySpec);
                byte[] decrypted = cipher.doFinal(text);
                return decrypted;
      }
So, in my code, to obtain the decrypted AES Key I do

    byte[] decryptedAESKey = sm.decryptRSA(key,
Base64.decode(ReceivedBase64EncryptedAESKey));
    byte[] decryptedString = sm.decryptAES(decryptedAESKey,
Base64.decode(ReceivedEncryptedAESString));[/

>From the web service I get the ReceivedEncryptedAESString=
qjYcPCHkFpbTjntDCpXCGabSY5DFH... and the decryptedAESKey looks like:
[121, 98, 51, 100, 108, 112, 118, 107, 118, 97]

The problem appears to be on cipher.init(Cipher.DECRYPT_MODE,
skeySpec); as it throws an exception: InvalidKeyException: Key length
not 128/192/256 bits. Maybe I do RSA decryption wrong ?

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to