2013-10-28 67 views
0

您好我正在开发Android 4.2.2 sdk版本8到17,我需要使用私钥, 因此,当我要生成此密钥时,我使用以下代码:安全提供程序在Android应用程序(SunEC)

Provider p = Security.getProvider("SunEC"); 
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("EC",p); 

但是p为空。

相同代码的工作,当我在一个Java项目运行,但不会在Android项目

我是否需要设置项目中一个lib?还是其他的东西?

谢谢

回答

0

看起来您在Android上使用无效的安全提供程序。

参见:What crypto algorithms does Android support?

+0

但如果我想添加它? –

+0

@eduardo_hito如果Oracle提供源代码,则可以。你将不得不实施整个事情,因为它不会出现在标准的Android开源项目中。 –

+0

谢谢,但我还真的需要de src代码吗?因为我的.jar与.class .....我已经将jar添加到项目的构建路径中,但是它不会将它导出到智能手机中的应用程序 –

0

您好我有解决这个问题,

由于@Morrison常不得不指出的是,我用的是不支持在Android还没有供应商。

太阳提供商今年在jdk 1.7发布,但Android系统仍然在1.6。

我试图使用Bouncy Castle提供程序,它在没有移动系统的情况下工作得很好。但他们有一个移动系统的版本,工作得很好

海绵城堡。 http://rtyley.github.io/spongycastle/

谢谢大家!