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

Nun gibt es die Version 0.49.4 und ich hatte die Probleme unter Big Sur mit der Vorabversion 0.49.3 gut gelöst. Mein Problem ist, dass das Update nun nicht mehr automatisch gezogen wird, auch ein händisches Triggern über PP → Nach Aktualisieren suchen bringt keinen Erfolg. Was ist der einfachste Weg? Neu installieren, oder kann ich die 49.3 dazu bringen, mir das Update zu ziehen. Wird vermutlich weitere User betreffen, bitte ggf. auch Verschieben, habe nichts passenderes gefunden.

Noch eine Ergänzung: Beim händischen Triggern ergibt sich folgende Fehlermeldung:

Details zum Vorgang
Cannot complete the install because of a conflicting dependency.
Zu installierende Software: Portfolio Performance 0.49.4 (name.abuchen.portfolio.distro.product 0.49.4)
Only one of the following can be installed at once:
OSGi System Bundle 3.15.300.v20200520-1959 (org.eclipse.osgi 3.15.300.v20200520-1959)
OSGi System Bundle 3.16.100.v20201030-1916 (org.eclipse.osgi 3.16.100.v20201030-1916)
Abhängigkeit nicht erfüllt: {0}
Von: Portfolio Performance 3rd Party Dependencies 1.4.0 (name.abuchen.portfolio.dependencies.feature.feature.group 1.4.0)
To: org.eclipse.equinox.p2.iu; org.eclipse.osgi [3.16.100.v20201030-1916,3.16.100.v20201030-1916]
Abhängigkeit nicht erfüllt: {0}
Von: Portfolio Performance 0.49.4 (name.abuchen.portfolio.distro.product 0.49.4)
To: org.eclipse.equinox.p2.iu; name.abuchen.portfolio.dependencies.feature.feature.group [1.4.0,1.4.0]
Abhängigkeit nicht erfüllt: {0}
Von: Portfolio Performance 0.49.4 (name.abuchen.portfolio.distro.product 0.49.4)
To: org.eclipse.equinox.p2.iu; org.eclipse.e4.rcp.feature.group [4.16.0.v20200604-0951,4.16.0.v20200604-0951]
Abhängigkeit nicht erfüllt: {0}
Von: Eclipse 4 Rich Client Platform 4.16.0.v20200604-0951 (org.eclipse.e4.rcp.feature.group 4.16.0.v20200604-0951)
To: org.eclipse.equinox.p2.iu; org.eclipse.osgi [3.15.300.v20200520-1959,3.15.300.v20200520-1959]

1 Like

Habe es für mich jetzt mit einer Neuinstallation gelöst, aber es wäre von @AndreasB mit Team ggf. trotzdem einen Blick wert, damit nicht in Wochen eine Gruppe von Mac Usern sich wundert, warum sie gar keine Updates mehr bekommen (zumindest die, die den Trial von 49.3 mitgemacht haben).

Ich würde vermuten, dass das getrennt kompiliert werden muss, weil es ein eigener GitHub Zweig sein wird, der aktuell parallel entwickelt wird.

1 Like

Funktioniert denn die händisch installierte 0.49.4 unter Big Sur?

Ja, einwandfrei, wie auch schon die Trialversion von der 49.3. Nur das eben die Updateroutine hing, sonst alles ok.

1 Like

Und was ist die Lösung für diese Art von Problem? Ich habe nämlich genau die gleiche Schwierigkeit mit der gleichen Fehlermeldung. Danke für Infos!

P.S.: Deinstallation und neue Installation hat entsprechend nichts gebracht

PP nicht in unsicheren Firmennetzen benutzen?

In der von PP mitgelieferten Java-Version das Zertifikat hinzufügen: How to Import Public Certificates into Java’s Truststore from a Browser | by Avinash Reddy Penugonda | Expedia Group Technology | Medium

Hi - danke für die Antwort. Funktioniert bei mir leider nicht, da mir die Java-Version - wahrscheinlich aufgrund der Firmensperre - nicht angezeigt wird. Ich habe jetzt Version 8.321 manuell installiert und auch das DigiCert Global Root CA in Java importiert und Laptop neugestartet. Leider keine Veränderung - jemand eine Idee?!?

PP benutzt deine Java-Version nicht; sonst würde es gar nicht funktionieren, da es Java 11 benötigt.