SQL Developer错误

时间:2020-03-06 14:55:23  来源:igfitidea点击:

我正在尝试使用SQL Developer,但是它将无法使用我在首选项中指定的代理进行连接。我想这是由于某种证书错误引起的吗?没有把握。我收到错误消息:

没有收到HTTP响应。

javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径
在com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
在com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1591)
在com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:187)
在com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:181)
在com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:975)
在com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:123)
在com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516)
在com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)
在com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:884)
在com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1096)
在com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1123)
在com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1107)
在sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:405)
在sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
在sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
在oracle.ide.webbrowser.HttpPing $ PingRunnable.run(HttpPing.java:109)
在oracle.ide.webbrowser.ProxyOptions.doTask(ProxyOptions.java:522)
在oracle.ide.webbrowser.HttpPing.ping(HttpPing.java:74)
在oracle.ide.webbrowser.ProxySettingsPanel $ 5.run(ProxySettingsPanel.java:766)
在java.lang.Thread.run(Thread.java:619)
引起原因:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径
在sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:285)
在sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:191)
在sun.security.validator.Validator.validate(Validator.java:218)
在com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
在com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
在com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
在com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:954)
...另外15个
引起原因:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径
在sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)处
在java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
在sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:280)
...另外21个

解决方案

调试错误的第一条规则之一:Google收到的错误消息用引号括起来,例如:"无法找到有效的证书路径"。当我这样做时,我发现了许多可能与我们相关的有用信息。

这很可能意味着我们通过SSL连接到的Web服务器使用由未知授权颁发的证书。我们要将证书添加到密钥库(在客户端上)。

有关说明,请参见本文。

我认为我们尚未安装jdk。如果我们使用sql developer 1.5.1,我建议我们使用jdk 1.5.