- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
CertificateFactory cf = CertificateFactory.getInstance("X.509");
AssetManager assetManager = MyApp.getAppContext().getAssets();
InputStream caInput = assetManager.open("cert.pem");
Certificate ca = null;
try {
ca = (Certificate) cf.generateCertificate(caInput);
System.out.println("ca=" + ((X509Certificate) ca).getSubjectDN());
} catch(Exception er)
{
System.out.println("ssdad222a "+er.getMessage());
}finally {
caInput.close();
}
String keyStoreType = KeyStore.getDefaultType();
KeyStore keyStore = KeyStore.getInstance(keyStoreType);
keyStore.load(null, null);
keyStore.setCertificateEntry("ca", (java.security.cert.Certificate) ca);
String tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
tmf.init(keyStore);
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, tmf.getTrustManagers(), null);
return context;
所以我得到 09-10 22:18:35.329: I/System.out(18269): ssdad222a com.android.org.conscrypt.OpenSSLX509Certificate cannot be cast to java.security.Certificate ,每当我使用证书时出错。我得到的 pem 或 cert.der 文件。错误是什么,解决方法是什么?
最佳答案
从错误消息来看,您似乎正在导入已弃用的 java.security.Certificate 类。这应该更改为 java.security.cert.Certificate。但是,您可以直接转换为 X509Certificate,因为您正在请求“X.509”CertificateFactory 的实例。它不会返回 X509Certificate 实例以外的任何内容。
关于android - com.android.org.conscrypt.OpenSSLX509Certificate 无法转换为 java.security.Certificate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32510064/
/Volumes/SSD/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/3.10.0/7ef0f1d95bf4c0b3b
当我根据 Micronaut documentation 将我的应用程序打包为 native 镜像时,使用 Java 11.0.9 (GraalVM CE 20.3.0) 和 Micronaut 2.
Conscrypt 库 ( https://github.com/google/conscrypt ) 是否适用于 Java 11?我知道它支持 JDK 8 和 9,但是有人用 JDK 11 试过吗?
在 android 中,如果我得到 (SSLSocketFactory) SSLSocketFactory.getDefault()我得到了这个类的内部套接字工厂com.android.org.con
我一直在寻找如何使用 conscrypt-openjdk-uber-1.4.1.jar 为 jdk8 实现 Conscrypt SSL 提供程序以支持 ALPN 用于建立到服务器的http2(使用 a
我正在开始使用 ECC 加密技术开发 Android 应用程序。我已经看到 Android 嵌入了一些密码学(在此处定义 https://developer.android.com/guide/top
将 Conscrypt 与 Apache HttpClient 5 结合使用的推荐方法是什么? 我尝试将 conscrypt-openjdk-uber-2.2.1.jar jar 添加到我的类路径中,
目前我正在做一个学校项目。该项目的目标是从服务器接收数据并将数据写入服务器。为此,我使用套接字和服务器套接字。为了加密消息,我使用 Apache Commons Codec 1.9。 (服务器是在Ub
我一直在围绕okhttp3进行测试以发出http2请求,我的标准是使用jdk8本身实现http2连接。我知道这可以通过升级到 jdk 9 或使用 conscrypt 作为默认提供程序轻松实现, Sec
CertificateFactory cf = CertificateFactory.getInstance("X.509"); AssetManager assetManager =
我正在使用 Apache HttpClient 5连同 Conscrypt通过 SSL 同时执行 HTTP 2.0 请求,如下所示: final SSLContext sslContext;
在应用发布之前,我在 Google Play 中出现以下错误。这不是警告,而是错误。我可以看到带有类似堆栈跟踪的警告。我不确定该应用程序是否会因此而被拒绝,因为发布前报告的摘要令人困惑。它说没有问题。
您使用的是什么版本的 gRPC? 1.13.1 我正在使用 java 8 构建可执行 jar。下面是java版本: $ /usr/lib/jvm/java-1.8.0-openjdk-amd64/jr
大家好,我在 api 调用上遇到了我的改造代码的问题,我在下面发布了堆栈跟踪,请看一下: Accessing hidden method Lcom/android/org/conscrypt/
我正在尝试使用谷歌自然语言处理 api。我使用 Maven 添加库并添加 GOOGLE_APPLICATION_CREDENTIALS作为环境变量,它具有包含我的服务帐户 key 的 JSON 文件的
在 api 级别 24 之前,我的代码工作正常,但它在 api 级别 24 ( 7.0 Nougat) 上给我错误。我不知道我的代码出了什么问题。 第一种方法在这里:
使用 GGoogle Text to Speech API 时出现以下异常, java.lang.IllegalStateException: Could not find TLS ALPN prov
我是一名优秀的程序员,十分优秀!