在Java中请求URL时忽略证书错误
我正在尝试打印一个URL(根本不涉及浏览器),但是该URL当前抛出以下内容:
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
我正在使用JEditorPane的setPage方法调用URL,该方法仅将URL作为参数。假设我无法更改任何服务器端并且仍然需要访问此资源,我将如何去忽略证书错误(或其他使我达到目标的错误)?
通过浏览器访问此URL会告诉我该站点不受信任,并询问我是否要继续。
回答:
扩展JEditorPane
以覆盖该getStream()
方法。
在该方法内,您可以打开一个URLConnection
。测试是否为HttpsURLConnection
。如果是这样,请使用不执行任何检查的自定义初始化您自己SSLContext
的自定义。获取上下文并将其设置为连接的套接字工厂。然后从连接返回。X509TrustManager
SSLSocketFactory
InputStream
这将消除运行时为保护用户免受提供恶意软件的欺骗站点的任何尝试。如果这 真的 是您想要的…
以上是 在Java中请求URL时忽略证书错误 的全部内容, 来源链接: utcz.com/qa/419009.html