我正在尝试打印一个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
这将破坏运行时保护用户免受恶意软件恶意软件攻击的任何尝试.如果这真的是你想要的......