海绵城堡在android上加载时缺少许多算法



在这个stackoverflow答案中,你可以看到一个代码来打印所有可用的提供者和相应的算法:如何找出我的JVM支持什么算法[加密]?

我正在使用最新版本的海绵城堡,当我要求获得海绵城堡("SC")的算法在android上我只得到少数算法。实际上我得到了这个非常有限的列表:

provider: SC
algorithm: PBEWITHMD5ANDDES
algorithm: PBEWITHSHA256AND192BITAES-CBC-BC
algorithm: OLDHMACSHA384
algorithm: PBEWITHHMACSHA
algorithm: PBEWITHMD5ANDDES
algorithm: PKCS12PBE
algorithm: PBEWITHSHAAND128BITAES-CBC-BC
algorithm: IES
algorithm: PKIX
algorithm: RFC3280
algorithm: ISO9797ALG3MAC
algorithm: PBEWITHHMACSHA1
algorithm: CERTIFICATE
algorithm: PBEWITHSHAAND40BITRC2-CBC
algorithm: PBEWITHSHA1ANDDES
algorithm: PBEWITHMD5AND256BITA
另一方面,当我要求在我的linux机器上获得SC 的算法时,我得到的的算法比多得多。我没有数过,但是这个列表比你上面看到的长10倍。

其他的算法都去哪儿了??

因为这个项目不是一个典型的android-java项目,而是一个Android-Scala项目,我必须在每次执行时使用Proguard。这对缺失的算法起作用了吗,还是有别的原因?

注1:我使用SC生成一个密钥对,用OpenPGP加密和解密

注2:源代码经过测试,在linux机器上使用OpenJDK-6, RSA算法进行公钥加密,BLOWFISH算法作为随机对称密钥

您可能需要包括海绵城堡OpenPGP API jar,所以检查您是否包括它:

http://rtyley.github.com/spongycastle/下载

除此之外,ProGuard配置问题将是一个明显的竞争者。尝试在proguard配置文件中指定如下内容:

-keep class org.spongycastle.**

相关内容

  • 没有找到相关文章

最新更新