【问题标题】:Eclipse RCP unable to update using p2Eclipse RCP 无法使用 p2 更新
【发布时间】:2018-08-13 03:48:01
【问题描述】:

我的 RCP 应用程序正在使用标准 p2 功能来更新客户端代码。这已经工作了好几年,但现在已经停止在一个特定站点的存储库上工作。它以sun.security.validator.ValidatorException 失败(下面是完整的堆栈跟踪)。

我有其他具有相同 p2 存储库的存储库可以正常工作。我与网站所有者核实过,他们说他们网站的 SSL 设置正确。

关于如何从我自己或网站所有者的角度解决此问题的任何建议。

感谢您阅读和思考我的问题!

0170725 07:30:49.200 134118 ERROR com.xyz.acmotor.base.BusinessStatusHandler - uncaught exception: org.eclipse.equinox.p2.transport.ecf : Connection to https://www.example.com/sites/motordb_update/repository/p2.index failed on sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target. Retry attempt 0 started
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
 at sun.security.ssl.Alerts.getSSLException(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.Handshaker.fatalSE(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.Handshaker.fatalSE(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.Handshaker.processLoop(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.Handshaker.process_record(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.AppOutputStream.write(Unknown Source) ~[na:1.8.0_60]
 at org.apache.http.impl.io.AbstractSessionOutputBuffer.flushBuffer(AbstractSessionOutputBuffer.java:159) ~[na:na]
 at org.apache.http.impl.io.AbstractSessionOutputBuffer.flush(AbstractSessionOutputBuffer.java:166) ~[na:na]
 at org.apache.http.impl.AbstractHttpClientConnection.doFlush(AbstractHttpClientConnection.java:272) ~[na:na]
 at org.apache.http.impl.AbstractHttpClientConnection.flush(AbstractHttpClientConnection.java:277) ~[na:na]
 at org.apache.http.impl.conn.AbstractClientConnAdapter.flush(AbstractClientConnAdapter.java:201) ~[na:na]
 at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:239) ~[na:na]
 at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121) ~[na:na]
 at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:685) ~[na:na]
 at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:487) ~[na:na]
 at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863) ~[na:na]
 at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) ~[na:na]
 at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084) ~[na:na]
 at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075) ~[na:na]
 at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071) ~[na:na]
 at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74) ~[na:na]
 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) ~[na:na]
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
 at sun.security.validator.PKIXValidator.doBuild(Unknown Source) ~[na:1.8.0_60]
 at sun.security.validator.PKIXValidator.engineValidate(Unknown Source) ~[na:1.8.0_60]
 at sun.security.validator.Validator.validate(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source) ~[na:1.8.0_60]
 at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source) ~[na:1.8.0_60]
 ... 24 common frames omitted
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
 at sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source) ~[na:1.8.0_60]
 at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source) ~[na:1.8.0_60]
 at java.security.cert.CertPathBuilder.build(Unknown Source) ~[na:1.8.0_60]
 ... 30 common frames omitted

【问题讨论】:

  • 听起来该站点可能有自签名证书,或其他问题。如果您尝试使用网络浏览器连接到它会发生什么?

标签: eclipse-rcp p2


【解决方案1】:

此错误的根本原因是应用程序捆绑了一个带有过期证书的 java 密钥库。现在来弄清楚如何更新 over 和 http 连接。

【讨论】:

    猜你喜欢
    • 2011-04-24
    • 1970-01-01
    • 2015-09-12
    • 2012-01-11
    • 2013-03-17
    • 2011-09-27
    • 2011-07-09
    • 1970-01-01
    • 2017-04-15
    相关资源
    最近更新 更多