我有一个RSA加密和解密的问题。我正在开发Android,并希望外包RSA加密和解密。在我试图外包之前,我的源代码运行良好。外包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
我希望你明白我的问题,因为英语不是我的母语。
编辑:我发现问题不是由外包代码造成的。所以我想这个话题可以被标记为已解决。
仅供参考 - 您的日志非常奇怪。您可能只需要一个包含Log.e(TAG,“Error loading key”,e);'的catch(Exception e)'语句,其中'TAG'是一个在别处定义的静态字符串,例如'private static final String TAG = MyActivity.class.getName();'。 – 2013-03-20 08:20:46
请编辑您的问题与您添加到我现在删除的答案的评论。也许有人可以帮助你。 – 2013-03-22 10:50:49
没有“标记为已解决”之类的东西。但是,如果问题不在帮助其他人,您可以删除该问题。 – 2013-04-05 15:15:16