Erreur des cours historiques sur Boursorama

Bonjour,
Depuis 2 jours j’ai cette erreur, dans le journal des erreurs
https://www.boursorama.com/bourse/action/graph/ws/GetTicksEOD?symbol=0P0001K1P2&length=7300&period=0
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Une idée sur cette erreur ?
Merci

Je ne pense pas qu’il s’agisse d’un problème de PP, mais plutôt d’un problème de serveur www.boursorama.com.

Le certificat de www.boursorama.com a la même apparence que celui de www.digicert.com dans la chaîne.

Bildschirmfoto_2023-02-17_18-14-27

Bildschirmfoto_2023-02-17_18-14-46

Si l’on teste les deux serveurs, les différences suivantes apparaissent:

$ openssl s_client -showcerts -connect www.digicert.com:443
CONNECTED(00000003)
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert High Assurance EV Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert SHA2 Extended Validation Server CA
verify return:1
depth=0 jurisdictionC = US, jurisdictionST = Utah, businessCategory = Private Organization, serialNumber = 5299537-0142, C = US, ST = Utah, L = Lehi, O = "DigiCert, Inc.", CN = www.digicert.com
verify return:1

depth=2, depth=1, depth=0 ==> OK

$ openssl s_client -showcerts -connect www.boursorama.com:443
CONNECTED(00000003)
depth=0 jurisdictionC = FR, jurisdictionST = \C3\8Ele-de-France, jurisdictionL = Nanterre, businessCategory = Private Organization, serialNumber = 351 058 151, C = FR, L = Boulogne-Billancourt, O = Boursorama SA, CN = www.boursorama.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 jurisdictionC = FR, jurisdictionST = \C3\8Ele-de-France, jurisdictionL = Nanterre, businessCategory = Private Organization, serialNumber = 351 058 151, C = FR, L = Boulogne-Billancourt, O = Boursorama SA, CN = www.boursorama.com
verify error:num=21:unable to verify the first certificate
verify return:1
depth=0 jurisdictionC = FR, jurisdictionST = \C3\8Ele-de-France, jurisdictionL = Nanterre, businessCategory = Private Organization, serialNumber = 351 058 151, C = FR, L = Boulogne-Billancourt, O = Boursorama SA, CN = www.boursorama.com
verify return:1

depth=0, depth=0, depth=0 ==> ???

Traduit avec deepl.com

EDIT: Si tu t’étonnes de pouvoir accéder au lien dans le navigateur - les navigateurs ont un cache de certificats dans lequel se trouve “DigiCert SHA2 Extended Validation Server CA”.

Je ne sais pas si PP dispose d’un magasin de certificats au moyen de java, mais j’en doute.

2 Likes

Si la question “Une idée sur cette erreur ?” voulait dire "Que puis-je faire à ce sujet ?

En tant qu’utilisateur très simple : attendre que le service informatique de boursorama remarque son erreur et la corrige.

En tant qu’utilisateur engagé : informer le service informatique de boursorama de l’erreur et espérer que cela ira plus vite.

En tant qu’utilisateur courageux : on peut importer le certificat intermédiaire dans le truststore local, cela fonctionnera alors immédiatement.

Cela fonctionne (sous Linux) comme suit :

Depuis https://www.digicert.com/kb/digicert-root-certificates.htm#intermediates, charger le fichier https://cacerts.digicert.com/DigiCertSHA2ExtendedValidationServerCA.crt.pem.
Par sécurité, copier le truststore original :

$ sudo cp /etc/ssl/certs/java/cacerts /etc/ssl/certs/java/cacerts.backup

Importer maintenant le certificat :

$ sudo keytool -import -trustcacerts -alias DigiCert_SHA2_Extended_Validation_Server_CA -file /tmp/DigiCertSHA2ExtendedValidationServerCA.crt.pem -keystore /etc/ssl/certs/java/cacerts

Le mot de passe pour le keystore est “changeit”.

Par magie, l’erreur est éliminée.
Je ne sais pas comment cela fonctionne sous Windows, mais c’est certainement similaire.

Et maintenant une question pour toi, comment obtenir une date raisonnable à partir des données de boursorama ?

Sat Feb 18 10:10:36 CET 2023
Aktualisiere Kurse...

------
Sat Feb 18 10:10:36 CET 2023
Während "JSON" ist ein interner Fehler aufgetreten.

java.time.DateTimeException: Invalid value for EpochDay (valid values -365243219162 - 365241780471): -413298000000
	at java.base/java.time.temporal.ValueRange.checkValidValue(ValueRange.java:319)
	at java.base/java.time.temporal.ChronoField.checkValidValue(ChronoField.java:718)
	at java.base/java.time.LocalDate.ofEpochDay(LocalDate.java:343)
	at java.base/java.time.LocalDateTime.ofEpochSecond(LocalDateTime.java:424)
	at name.abuchen.portfolio.online.impl.GenericJSONQuoteFeed.parseDateTimestamp(GenericJSONQuoteFeed.java:365)
	at name.abuchen.portfolio.online.impl.GenericJSONQuoteFeed.extractDate(GenericJSONQuoteFeed.java:332)
	at name.abuchen.portfolio.online.impl.GenericJSONQuoteFeed.parse(GenericJSONQuoteFeed.java:251)
	at name.abuchen.portfolio.online.impl.GenericJSONQuoteFeed.getHistoricalQuotes(GenericJSONQuoteFeed.java:157)
	at name.abuchen.portfolio.online.impl.GenericJSONQuoteFeed.getHistoricalQuotes(GenericJSONQuoteFeed.java:78)
	at name.abuchen.portfolio.online.QuoteFeed.getLatestQuote(QuoteFeed.java:51)
	at name.abuchen.portfolio.online.impl.GenericJSONQuoteFeed.getLatestQuote(GenericJSONQuoteFeed.java:182)
	at name.abuchen.portfolio.ui.jobs.UpdateQuotesJob$1.run(UpdateQuotesJob.java:244)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)


------

1 Like

@ProgFriese:
Mille merci pour votre réponse rapide et précise
Je pensais un peu que l’erreur provenais de Boursorama
Je n’ai pas le niveau pour comprendre et mettre en oeuvre, sous Windows, la modification préconisée
Je vais attendre la “réparation” de Boursorama, si elle intervient
Encore merci et bon week-end

Ah mince, je viens de voir aussi que les cours avec boursorama sont cassés… Dommage, en espérant que cela revienne vite, j’utilisais que ça !

Oui après 2 jours de fonctionnement correct, c’est à nouveau cassé

J’ai indiqué ci-dessus un moyen de résoudre le problème localement. Voici comment faire sous Windows : Import a certificate to the Java Keystore

Aujourd’hui 01/03/2023 je n’ai plus l’erreur
Journal_des_erreurs