gpt4 book ai didi

java - 使用 HttpURLConnection 获取带有自签名证书的页面

转载 作者:太空宇宙 更新时间:2023-11-03 13:43:43 25 4
gpt4 key购买 nike

我正在使用此代码从我们本地的 Trac 系统下载时间线页面:

HttpURLConnection con = (HttpURLConnection) TRAC_TIMELINE_URL.openConnection();
String userpassword = TRAC_USERNAME + ":" + TRAC_PASS;
String encodedAuthorization = new String(Base64.encodeBase64(
userpassword.getBytes(Charsets.ASCII)), Charsets.ASCII);
con.setRequestProperty("Authorization", "Basic " + encodedAuthorization);
InputStream ins = con.getInputStream();

因为 Trac 服务器是通过 HTTPS 访问的,但有一个自签名证书,所以我在调用 getInputStream 时得到以下异常:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

让它发挥作用的最快方法是什么?我可以完全忽略证书的正确性,因为这个请求将通过 LAN 进行。

最佳答案

至少,您需要确保与您的 Trac 系统使用的私有(private)证书(或签署该服务器证书的 CA 的证书)匹配的公共(public)证书在您的信任库。 Java SSL 库要求存在到已知信任根的信任链(验证服务器证书的 DN 与请求的主机名之间的绑定(bind)是可选的,但强烈建议用于普通 HTTPS)。

关于java - 使用 HttpURLConnection 获取带有自签名证书的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4285532/

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