Olá a todos!
Bom, estou com um problema que não consigo resolver, estou a 2 dias sem sucesso…
O problema é o seguinte: Tenho que encryptar uma “string”, utilizando RSA, porém sempre tenho como retorno o erro “Comprimento inválido” (Invalid key length).
Ficaria muito grato se alguém me desse uma “luz” sobre o problema… Estou utilizando a API CAPICOM para trabalhar com os tokens…
Segue trechos importantes do código:
----Private Key-----
KeyStore ks = KeyStore.getInstance(“Windows-MY”);
ks.load(null, null);
Key result = ks.getKey(keyname, password.toCharArray());
return result;
----Encryptar String----
String Encrypt = "66480739139775238772";
String s1 = "";
byte abyte0[] = Base64.base64Decode(Challenge.getBytes());
Cipher cipher = null;
cipher = Cipher.getInstance(privatekey.getAlgorithm());
cipher.init(1, privatekey);
byte abyte1[] = cipher.doFinal(abyte0); //LINHA DO ERRO
s1 = new String(Base64.base64Encode(abyte1));
return s1;
Desde já, muito obrigado!