0
誰もが、私は最近、PCとAndroidの両方でRSA暗号化を実装しました。 PC(JDK1.6)が、私は(JDK1.5でアンドロイド2.1)Android上で試すのもいくつかの作品は、エラーが妙に発生します。AndroidのjvmはkeyFactory generatePublic()をサポートしていませんか?
コードは次のようである:
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に変更してください。それはちょうどに戻ります。実際には戻り値はnullではありません。通常の指数(65537)と不良モジュラス(「ae3432a ***」の文字で埋められます)を持つPubkeyです。
誰でも私のためにテストできますか? ?。私たちは、Android 2.3.6のAppでRSA-PUBLICKEYを使用する私たちは、次のコードを使用してキーを生成
Tobiasありがとう、私はこれらのコードをデバッグ、私はそれが間違っている可能性があります提供r、jdk1.5は___Provider:SunRsaSign___を使用し、android 2.1はbouncycastle 1.43を使用しますが、まだ解決できませんでした。 –
あなたはAndroid 2.3.6でこれらのコードをテストします。 –
はい、このコードをテストしたところ、うまくいきました。 NFCの問題のため、私たちはAndroid 4に変更することにしました。 – Tobias