gpt4 book ai didi

java - 如何将自签名证书添加到 HttpsURLConnection 中的默认证书

转载 作者:行者123 更新时间:2023-12-04 22:40:59 26 4
gpt4 key购买 nike

早上好。
我的问题是,我想创建一个 HttpsURLConnection接受默认的受信任证书,但也接受我的自签名证书。
在互联网上环顾四周后,我发现了很多类似的问题,但并不是我想要的。
特别是,一个好的代码是here .
这几乎是我想要的,但有所不同:
他们只会信任自签名证书,我也想信任自签名证书。
基本上我不想从一个空的KeyStore开始,我想获得默认 keystore ,无论它在哪里/在哪里,它已经包含我的操作系统中的默认证书。
PS:我在安卓上工作。
谢谢大家

最佳答案

您基本上想要使用默认的受信任证书以及您自己的受信任证书。此处提供了类似的问题和答案:Registering multiple keystores in JVM
我也遇到了同样的问题,找到了Code a Ray的答案真的很有用。在将他的代码 fragment 用于多个项目后,我用它创建了一个库。你可以在这里找到它:sslcontext-kickstart
对于您的用例,将您的证书包装在信任库文件中的以下狙击程序应该可以解决问题:

SSLFactory sslFactory = SSLFactory.builder()
.withDefaultTrustMaterial()
.withTrustMaterial("my-truststore.jks", "password".toCharArray())
.build();

HttpsURLConnection httpsURLConnection = (HttpURLConnection) new URL(url).openConnection();
httpsURLConnection.setHostnameVerifier(sslFactory.getHostnameVerifier());
httpsURLConnection.setSSLSocketFactory(sslFactory.getSslContext().getSocketFactory());

关于java - 如何将自签名证书添加到 HttpsURLConnection 中的默认证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63723029/

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