gpt4 book ai didi

java - 在 Android 上使用哪个 JCE 提供程序?充气城堡,Conscrypt,...?

转载 作者:搜寻专家 更新时间:2023-11-01 09:25:08 26 4
gpt4 key购买 nike

我正在开始使用 ECC 加密技术开发 Android 应用程序。我已经看到 Android 嵌入了一些密码学(在此处定义 https://developer.android.com/guide/topics/security/cryptography ),但它在支持的算法参数或支持的 Android API 版本方面受到限制。例如,AlgorithmParameters 类仅支持“EC”参数(又名椭圆曲线加密),适用于 Android API 版本 26+(= Android 8.0 及更高版本),这是非常严格的。

到目前为止,解决方案是使用像“Bouncy CaSTLe”这样的 JCE 提供程序。但是,我在https://android-developers.googleblog.com/2018/03/cryptography-changes-in-android-p.html上看到过它将在未来的 Android P 中被弃用。Android P 将使用 Conscrypt 中可用的加密功能(基于 boringSSL)。

我希望我的应用程序可以在当前的 Android 版本(>= API 21)上运行,并且我希望它可以在 Android P 上运行那么我应该使用哪个 JCE 提供程序?

我曾尝试将 Conscrypt 与运行 Android API 版本 24(= Android 7.0)的 Samsung Galaxy S7 一起使用,但当我将其安装为安全提供程序时出现崩溃。在我的 MainActivity.java 类中,我使用了:

static {
try {
Security.insertProviderAt(Conscrypt.newProvider(), 1);

} catch (NoClassDefFoundError e) {
e.printStackTrace();
}
}

我遇到以下崩溃:

java.lang.UnsatisfiedLinkError:未找到 java.lang.String[] org.conscrypt.NativeCrypto.get_cipher_names(java.lang.String) 的实现(已尝试 Java_org_conscrypt_NativeCrypto_get_1cipher_1names 和 Java_org_conscrypt_NativeCrypto_get_1cipher_1names__Ljava_lang_String/p)

您知道 Conscript 是否可以与当前的 Android API 版本一起使用吗?

谢谢

最佳答案

我已经收到来自致力于 Conscrypt 的 GoogleGroup 的答复。 Conscrypt 文档缺少一些关于如何在 Android 上使用它的说明(现在已修复)。在 Android 上,App/build.gradle 应该包含:

implementation 'org.conscrypt:conscrypt-android:2.5.1' 

我有一个“java.lang.UnsatisfiedLinkError”因为我正在使用:

compile 'org.conscrypt:conscrypt-openjdk:1.1.3:'

这是错误的,因为这一行是针对 OpenJDK 的。

关于更多信息:我听说 Conscrypt 在 Android 上的工作可以追溯到 API 级别 9( Gingerbread )。

谷歌 GitHub 链接:https://github.com/google/conscrypt

关于java - 在 Android 上使用哪个 JCE 提供程序?充气城堡,Conscrypt,...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51280240/

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