RSAの暗号化と復号化に問題があります。私はAndroidで開発しており、RSA暗号化と復号化を外部委託したいと考えています。私のソースコードは、アウトソーシングする前はうまく機能していました。
秘密鍵と公開鍵を作成し、private.keyとpublic.keyとして保存しました。エラーは、このメソッドによって引き起こされたClassNotFoundExceptionです。
public Key getPrivateKey(){
try {
InputStream fis = activity.getResources().openRawResource(R.raw.private);
ObjectInputStream ois = new ObjectInputStream(fis);
Key RSAprivateKey = (Key)ois.readObject();
return RSAprivateKey;
}
catch (FileNotFoundException e) {
Log.e("FileNotFound","FileNotFound");
e.printStackTrace();
} catch (IOException e) {
Log.e("IOEXception","IOEXception");
e.printStackTrace();
} catch (ClassNotFoundException e) {
Log.e("ClassNotFound","ClassNotFound");
Log.e("Errro", "Error: "+ e.getMessage());
Log.e("error", e.toString());
e.printStackTrace();
}
return null;
}
logcatを調べたところ、次のエラーメッセージが表示されました。
E/ClassNotFound(1205): ClassNotFound
03-19 13:54:52.176: E/Errro(1205): Error:
com.android.org.bouncycastle.jce.provider.JCERSAPrivateCrtKey
03-19 13:54:52.176: E/error(1205): java.lang.ClassNotFoundException:
com.android.org.bouncycastle.jce.provider.JCERSAPrivateCrtKey
英語は私の母国語ではないので、あなたが私の問題を理解してくれることを願っています。
編集:問題はコードのアウトソーシングが原因ではないことがわかりました。だから私はトピックが解決済みとしてマークすることができると思います。