我有一个小窗口应用程序,它使用RSA算法解密简单消息,但在Android上遇到同样的问题,看起来像我有密码问题。密码在Android和Windows上的行为有所不同
我在窗户上;
Cipher c = Cipher.getInstance("RSA");
c.init(Cipher.DECRYPT_MODE,_clientPrivateKey);
byte [] r = c..doFinal(encrypted);
在Android上,我用默认的“RSA”密码也是“RSA /无/ NoPadding”,“BC”
确信的是,_clientPrivateKey字节两个平台上相同的尝试,但注意到在Windows上,该键的类型解析为sun.security.rsa.RSAPrivateCrtKeyImpl,而在Android上则解析为OpenSSLRSAPrivateKey。
dofnal结果在两个平台上有所不同,在Windows上提供正确的。
有什么想法?
感谢您的快速响应...这是我的一个f首先在Java上加密项目,对于显而易见的问题感到抱歉。 – Duncan 2015-01-15 17:00:04
这不是在不同的VM impl上使用加密和解密时每个人都会遇到的数字1错误。 – 2015-01-15 17:02:00
我基本上试图解码生成的加密的私钥> openssl req -x509 -newkey rsa:2048 -keyout client-private.key -out client-public.pem 不能真正找到一个很好的方式来指定度算法。使用not-yet-commons-ssl将密钥文件读入_clientprivateKey。对算法/模式/填充使用的任何建议 – Duncan 2015-01-15 17:03:39