Kein automatisches Update möglich, Update wird nicht gefunden

Ich habe Portfolio Performance mit der Version 0.28.4 installiert. Wenn ich im Programm nach dem Update auf Version 0.29.0 suche werden keine Updates gefunden:

Screen

Woran liegt das?

Sowohl durch die automatische Suche als auch durch eine manuelle wird das Update nicht gefunden.

Danke

Das hört sich nach einem Bug an… Welche URL ist denn in den Einstellungen konfiguriert? Und gibt es irgendwelchen Fehlermeldungen im Fehlerlog?

Ansonsten bleibt (leider) nur: einfach noch mal runterladen, auspacken und starten.

Folgende URL ist in den Einstellungen konfiguriert:
https://updates.portfolio-performance.info/portfolio

Fehlerprotokoll gibt folgende Meldung aus:

Sat Feb 03 08:29:10 CET 2018
Connection to https://updates.portfolio-performance.info/portfolio/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)

at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)

at sun.security.ssl.Handshaker.fatalSE(Unknown Source)

at sun.security.ssl.Handshaker.fatalSE(Unknown Source)

at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)

at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)

at sun.security.ssl.Handshaker.processLoop(Unknown Source)

at sun.security.ssl.Handshaker.process_record(Unknown Source)

at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)

at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)

at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)

at sun.security.ssl.AppOutputStream.write(Unknown Source)

at org.apache.http.impl.io.AbstractSessionOutputBuffer.flushBuffer(AbstractSessionOutputBuffer.java:159)

at org.apache.http.impl.io.AbstractSessionOutputBuffer.flush(AbstractSessionOutputBuffer.java:166)

at org.apache.http.impl.AbstractHttpClientConnection.doFlush(AbstractHttpClientConnection.java:272)

at org.apache.http.impl.AbstractHttpClientConnection.flush(AbstractHttpClientConnection.java:277)

at org.apache.http.impl.conn.AbstractClientConnAdapter.flush(AbstractClientConnAdapter.java:201)

at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:239)

at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)

at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:685)

at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:487)

at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)

at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)

at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084)

at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075)

at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071)

at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

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)

at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)

at sun.security.validator.Validator.validate(Unknown Source)

at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source)

at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)

at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)

… 24 more

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)

at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)

at java.security.cert.CertPathBuilder.build(Unknown Source)

… 30 more

Versuch es mal mit einer aktuelleren Java-Version.
Das sieht so aus, als akzeptiert er das Zertifikat von Let’s Encrypt nicht.
Dagegen hilft ein Update auf eine Java Version nach Java 8 Update 101.

1 Like

daran hat es gelegen, Problem gelöst.

Danke :slight_smile:

mit Verlaub, das Problem besteht weiterhin.

Da ich die Software unterwegs nutze, habe ich keinen Einfluß auf die Installation von JAVA.
Für die Installation werden ferner Admin Rechte benötigt, welche mir ebenfalls verwehrt sind.

Bis einschließlich Version 0.28.4 hat die Aktualisierung der portablen Version wurderbar funktioniert.

Edit, Fehlerprotokoll hinzugefügt:

Fri Feb 09 17:16:36 CET 2018
Connection to https://updates.portfolio-performance.info/portfolio/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(Alerts.java:192)

	at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)

	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)

	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)

	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509)

	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)

	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)

	at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)

	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)

	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)

	at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:747)

	at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)

	at org.apache.http.impl.io.AbstractSessionOutputBuffer.flushBuffer(AbstractSessionOutputBuffer.java:159)

	at org.apache.http.impl.io.AbstractSessionOutputBuffer.flush(AbstractSessionOutputBuffer.java:166)

	at org.apache.http.impl.AbstractHttpClientConnection.doFlush(AbstractHttpClientConnection.java:272)

	at org.apache.http.impl.AbstractHttpClientConnection.flush(AbstractHttpClientConnection.java:277)

	at org.apache.http.impl.conn.AbstractClientConnAdapter.flush(AbstractClientConnAdapter.java:201)

	at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:239)

	at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)

	at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:685)

	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:487)

	at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)

	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)

	at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084)

	at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075)

	at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071)

	at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)

	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

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(PKIXValidator.java:387)

	at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)

	at sun.security.validator.Validator.validate(Validator.java:260)

	at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)

	at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)

	at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)

	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491)

	... 23 more

Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

	at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:146)

	at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131)

	at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)

	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)

	... 29 more

Das Problem ist folgendes:

Mit der letzten Version habe ich die Webseite mit den Aktualisierungen umgezogen und mit einem SSL Zertifikat versehen. Bisher war das eine HTTP Verbindung. Wenn PP jetzt eine Verbindung aufmacht, wird das Zertifikat gegen vertrauenswürdige Root Zertifikate überprüft.

Was ich nicht bedacht habe: Das Root Zertifikat für Let’s Encrypt wurde “erst” Juli 2016 dem Java JDK hinzugefügt. Auf Deinem Rechner scheint also ein ziemliches altes Java JDK/JRE installiert zu sein.

Was kannst Du machen? Du kannst auch eine aktuelle Java Version in das PP Verzeichnis kopieren - siehe hier - das solltest Du auch machen können wenn Du keine Rechte auf “c:\Programme” hast.

Andernfalls bleibt leider erst mal nur der erneute Download.

Da hat sich eigentlich nichts dran geändert - beim Update werden Dateien ausgetauscht und darum braucht das Programm Schreibrechte auf der Programmverzeichnis.

Mir ist das Problem im Log auch aufgefallen, als ich PP einmal in der Firma ausgeführt habe.
Dort lag es weniger an der alten Java Version, sondern vielmehr an der SSL Decryption (MitM) auf der zentralen Firewall. Das entsprechende Root-Zertifikat ist zwar in den Cert Stores des OS bzw. im Browser hinterlegt, jedoch nicht im Cert Store der Java-Umgebung.
Was die FW nicht entschlüsseln kann, wird halt geblockt.

Danke für die Antwort. Der Tip mit altem JRE hat mir geholfen.
Ich betreibe die Software portabel. Für andere die dies ebenfall tun möchen, dazu die aktuelle JRE in einer VM installieren und den Installationsordner zB jre1.8.0_151 unter C:\Programme\Java nach PortfolioPerformance Ordner kopieren und in jre umbenennen.
Danach wird die neue Version gefunden.

1 Like