Все, недавно я внедрил шифрование RSA на ПК и Android. Некоторые хорошо работают на ПК (jdk1.6) , но когда я пытаюсь на Android ( Android 2.1 с jdk1.5 ), странная ошибка.
Код похож на:
BigInteger m = m;
BigInteger e = e;
RSAPublicKeySpec keySpec = new RSAPublicKeySpec(m, e);
KeyFactory fact = KeyFactory.getInstance("RSA");
try{
PublicKey pubKey = fact.generatePublic(keySpec);
return pubKey;
} catch (Exception e) {
throw new RuntimeException("Spurious serialisation error", e);
}
return null;
Проблема в PublicKey pubKey = fact.generatePublic (keySpec); , кажется, вызывает исключение, но я не могу его перехватить, даже изменив его на Throwable e . Он просто переходит на return null; , но на самом деле возвращаемое значение не равно NULL, это недопустимый Pubkey с нормальным показателем (65537) и плохим модулем (заполняется символом горы, 'ae3432a *** '.
Может кто-нибудь проверить это для меня?