-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Basic internet test no longer able to SSL to github #55
Comments
@dhalbert - on adafruit/circuitpython#8299, the internet test was performed using a MatrixPortal S3. That board doesn't run nina-fw. Is this issue being within nina-fw relevant?
I believe it was revoked - @martymcguire and @jwcooper would know for sure. |
I believe Digicert updated their root and intermediate CA certificates in 2023, so we picked those up in this refresh: |
CircuitPython uses NINA-FW as a submodule to pick up the latest |
I wondered if there was a minor change or not, sadly my diff software couldn't pull off the moved block detection well enough, but this is the latest roots.pem from android, taken according to the instructions at |
As a bit of a personal challenge I wanted to see if I could get WinMerge etc to do moved block detection well enough to understand the roots bundle changes. Yes and no. I decided to play with Noteable (Jupyter notebooks, but works with chatgpt via plugin), and attempt to do moved block detection and looking up old certs, it worked well. I've also added the older certs to see what happened compared to the past. This made me realise there was not a small change and we should probably accept the newer file rather than patching individual certs. I'd love to know what the unknown certs are (all removed by my update) so if anyone wants to suggest extensions to the notebook please do.
|
Having same issue connecting SSL to a website behind a cloudflare certificate When running through this tutorial https://learn.adafruit.com/adafruit-pyportal/internet-connect#connect-to-wifi-17-4
Running nina 1.7.5 It worked fine before the URL in question switched to use cloudflare |
@crhuber Could you try this NINA-FW firmware update? It has an updated certificate list, and works with the github URL Unzip this and update the ESP32 AirLift firmware: If it works I will submit a PR to nina-fw. |
I tested with 1.7.7 Nina FW and Circuit Python 8.2.6 it works with this url but fails for a different url with a lets encrypt cert provided by cloudflare |
Could you please give the failing URL, or at least a redacted version so we can try talking to the same server and looking at its certificate chain? |
@dhalbert try this one https://api.intra.io/api/v1/healthz |
@crhuber I see that problem too, on a Metro M4 AirLift Lite using the NINA-FW firmware I posted above. $ curl https://api.intra.io/api/v1/healthz
{"status":"ok"}
$ openssl s_client -showcerts -connect api.intra.io/api/v1/healthz:443 < /dev/null #EDIT2: arg is WRONG
40877E77527F0000:error:10080002:BIO routines:BIO_lookup_ex:system lib:../crypto/bio/bio_addr.c:738:Name or service not known
connect:errno=22 I also tried that URL on a Metro ESP32-S2, and it works. That board is using CircuitPython with a The cert chain as reported by Firefox is: The ISRG Root X2 cert is in our
|
@dhalbert same with my domains, maybe easier to diagnose/test. -Edit- Result of running openssl check against E1 cloud tld:
Certbot version:
cloudflare version:
|
@dhalbert I think the command you used for openssl was incorrect. I dont think you need the url path in the command. Also on cloudflare I tried disabling TLS 1.3 and changing Minimum TLS to 1.2 (from 1.0) but no difference |
@crhuber you are right; I was cutting and pasting the commands and missed that. Will investigate further. |
If I set
|
I am going to split off the https://api.intra.io/api/v1/healthz problem into a new issue, because the original github issue is solvable. But we do need to debug the intra.io issue. |
After the certificate replacement in #51, the basic "Internet Test" used across all our CircuitPython wifi boards no longer connects to GitHub. See adafruit/circuitpython#8299.
Looking at #51, I see that it replaces an existing certificate. When I enter the existing certificate, it does not show up as expired, but instead shows up as expiring in 2031.
Was the certificate revoked?
@brentru How did you decide to replace that particular certificate? I am wondering if a still-legit cert was replaced by accident.
The text was updated successfully, but these errors were encountered: