首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在AndroidStudio上使用SpongyCastle提供程序

在AndroidStudio上使用SpongyCastle提供程序
EN

Stack Overflow用户
提问于 2019-01-24 00:28:48
回答 1查看 319关注 0票数 0

我正在尝试为我的android应用程序编写一个ECDH代码。作为起点,我设法在我的AndroidStudion上安装了lSpongyCastle Jar,但现在我在运行时遇到了一个问题:

代码语言:javascript
复制
KeyPairGenerator aliceKeyGen = KeyPairGenerator.getInstance("ECDH", "SC");

它一直说没有这样的提供者,但是我补充说

代码语言:javascript
复制
  Security.insertProviderAt(new org.spongycastle.jce.provider.BouncyCastleProvider(), 1);

添加到我的代码中,并且我添加了

代码语言:javascript
复制
implementation 'com.madgag.spongycastle:prov:1.58.0.0'

敬我的gradle。

我尝试了不同的提供程序名称(如"BC"),但都给出了相同的错误“NoSuchProviderException”。

我试着到处阅读都没有成功,请告诉我我做错了什么,还有什么我应该做的。

谢谢!

PS不用说,SpongyCastle的其他功能运行正常,所以我相信我已经成功地安装了库。

EN

回答 1

Stack Overflow用户

发布于 2019-08-29 16:24:31

您使用的是哪个API版本?Google改变了插入和使用安全提供程序的行为。我对你的问题没有一个实际的答案,但看起来就是这样。

谷歌表示,由于Android P在内部更倾向于使用AndroidOpenSSL作为安全提供商,他们不推荐使用一些BC提供商的功能。对给定的提供程序使用getInstance() (例如"BC“或"SC")将抛出针对Android P或更高版本的应用程序的NoSuchAlgorithmException。

他们建议在getInstance()中不使用显式提供程序。

请参阅https://android-developers.googleblog.com/2018/03/cryptography-changes-in-android-p.htmlhttps://developer.android.com/guide/topics/security/cryptography#deprecated-functionality

此外,我在安卓上的实验中也看到,海绵城堡可能不需要添加到位置1,因为AndroidOpenSSL现在提供了很多安全算法(如果你真的需要一些东西,就使用Security.addProvider(new BouncyCastleProvider()); )。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54331661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档