gpt4 book ai didi

android - 没有这样的算法: ECDSA for provider BC

转载 作者:行者123 更新时间:2023-11-29 15:37:05 26 4
gpt4 key购买 nike

我的应用程序是 minSDK 15 - 所以我想我可以直接使用 BouncyCaSTLe。不幸的是我得到了一个N​​oSuchAlgorithmException。那我必须使用 SpongyCaSTLe 吗?该库在 JVM 应用程序中运行良好 - 但在 Android 上失败。

 Caused by: java.security.NoSuchAlgorithmException: no such algorithm: ECDSA for provider BC
at sun.security.jca.GetInstance.getService(GetInstance.java:87)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:206)
at java.security.KeyPairGenerator.getInstance(KeyPairGenerator.java:307)
at org.kethereum.crypto.Keys.createSecp256k1KeyPair$crypto(Keys.kt:43)
at org.kethereum.crypto.Keys.createEcKeyPair(Keys.kt:51)
at org.walleth.data.keystore.KethereumWallethKeyStore.newAddress(KethereumWallethKeyStore.kt:43)
at org.walleth.activities.CreateAccountActivity$onCreate$4.onClick(CreateAccountActivity.kt:95)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)

最佳答案

Android 自 4.0 版起引入了对 ECDSA 的支持,使用 BouncycaSTLe (v1.46) 作为默认加密提供程序。请参阅博客 https://nelenkov.blogspot.com.es/2011/12/using-ecdh-on-android.html?m=1

但 Android 包含 BouncycaSTLe 的缩短版本,并且不完全支持 ECDSA。您可以在链接中看到不支持算法 KeyPairGenerator/ECDSA,而这是生成以太坊 key 所需的算法。

您不能直接包含 bouncycaSTLe 库,因为与包名称 org.bouncycaSTLe 存在冲突。我建议在您的项目中包含 spongycaSTLe,它是 Android 版 bouncycaSTLe 的重新打包版本 org.spongycaSTLe

新的 Android 版本中已解决包名称冲突,但如果您的目标是旧版本,则需要确保正在使用哪个加密提供程序。

关于android - 没有这样的算法: ECDSA for provider BC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47565574/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com