NASAWorldWind / WorldWindJava

The NASA WorldWind Java SDK (WWJ) is for building cross-platform 3D geospatial desktop applications in Java.
724 stars 327 forks source link

WorlWind certificate has expired on Nov/12 2023 #273

Closed humbertomb closed 1 year ago

humbertomb commented 1 year ago

Note: Any issue that does not include enough information to be reviewed in a timely manner may be closed at the maintainer's discretion.

Prerequisites

Please fulfill the following requirements before submitting an issue to this repository.

Description

SSL Certificate for [worldwind27.arc.nasa.gov, worldwind26 ... etc] has expired. This means you cannot access HTTPS map services from an application using API 2.2.1.

Steps to Reproduce

Launch an application using HTTPS map services API You get some exception, related to certificate validity expiration This did not happen on Nov/10 2023

Expected behavior: Able to use HTTPS map services

Actual behavior: Cannot access HTTPS map services

Reproduces how often: 100%

Operating System and Version

Mac osx 10.13.6, Mac osx 12.7.1, Windows 11

Additional Information

In Mac osx 10.13.6 you get the following error:

nov 13, 2023 11:01:13 A. M. gov.nasa.worldwind.retrieve.URLRetriever read SEVERE: Error reading from connection to https://worldwind27.arc.nasa.gov/wms/virtualearth?EXCEPTIONS=application/vnd.ogc.se_xml&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0 javax.net.ssl.SSLHandshakeException: PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:378) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:316) at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:654) at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473) at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369) at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:458) at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:201) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:589) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:187) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:308) at gov.nasa.worldwind.retrieve.HTTPRetriever.doRead(Unknown Source) at gov.nasa.worldwind.retrieve.URLRetriever.read(Unknown Source) at gov.nasa.worldwind.retrieve.URLRetriever.call(Unknown Source) at gov.nasa.worldwind.retrieve.URLRetriever.call(Unknown Source) at gov.nasa.worldwind.util.SessionCacheUtils.retrieveSessionData(Unknown Source) at gov.nasa.worldwind.util.SessionCacheUtils.getOrRetrieveSessionCapabilities(Unknown Source) at gov.nasa.worldwind.layers.BasicTiledImageLayer.retrieveResources(Unknown Source) at gov.nasa.worldwind.layers.BasicTiledImageLayer$2.run(Unknown Source) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed at java.base/sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:369) at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:275) at java.base/sun.security.validator.Validator.validate(Validator.java:264) at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231) at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132) at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638) ... 26 more Caused by: java.security.cert.CertPathValidatorException: validity check failed at java.base/sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:135) at java.base/sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:224) at java.base/sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:144) at java.base/sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:83) at java.base/java.security.cert.CertPathValidator.validate(CertPathValidator.java:309) at java.base/sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:364) ... 31 more Caused by: java.security.cert.CertificateExpiredException: NotAfter: Sun Nov 12 06:21:52 GMT+01:00 2023 at java.base/sun.security.x509.CertificateValidity.valid(CertificateValidity.java:277) at java.base/sun.security.x509.X509CertImpl.checkValidity(X509CertImpl.java:627) at java.base/sun.security.provider.certpath.BasicChecker.verifyValidity(BasicChecker.java:190) at java.base/sun.security.provider.certpath.BasicChecker.check(BasicChecker.java:144) at java.base/sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:125) ... 36 more

FranckReinquin commented 1 year ago

Hello !

I experience the same problem, of course. Linux client.

Franck

humbertomb commented 1 year ago

It is working again