2024-11-01 | #tls #ssl #internet | @Acidus
I recently started using a Peloton bike again after several months. Pelotons are stationary bikes with a large Android tablet stuck to them. My Peloton has been turned off and possibly unplugged a few times in the last few months of disuse.
When I turned it on this last week, I expected to do a dance of several "update your software" dialogs and reboots as Android, Peloton, and whatever else was running had to update. Such is the life of a modern connected device. From my experience with a PS5 last year, I planned for an extra 15 mins or so for my workout.
I just want to fucking play Call of Duty on my day off
What I was not expecting was a "No Internet Connection" dialog.
It didn't make sense. I have several WiFi access points, all connected together using an Ethernet backhaul. In fact, there was one in this room. I double checked and I *was* connected to the WiFi, but just no internet. Everything else in my house was working and had internet access.
I tried the "turn it off, turn it back on" dance. Peloton was connected to my WiFi, but still no internet.
I used "forget network" on the Peloton, and re-setup WiFi. Peloton was connected to my WiFi, but still no internet.
Forgot WiFi. Maybe if I can just update the thing, it will work. I go looking for an Ethernet cord, only to find with my longest cable I'm still like 12 inch too short.
This is madness. I have an internet connection. I've used this Peloton in the past. I know this works. I really don't want to try and go searching the enshittified web. God only knows what SEO-ladened nonsense will appear for "peloton cannot connect to internet."
But I try, and on some odd blog, full of obvious stuff like "have sure your wifi password is right" and "don't have walls between your AP and the Peloton", I see something odd it gives me pause:
"Make sure the date/time setting is correct."
Date and time? How.... how could that prevent me from accessing the internet? Wait... TLS Certificates.
I check the date/time setting. It says the year is 2077. I'm not sure why, perhaps with all the power cycling or sitting unplugged, it lost the time. I set it correctly, and reboot. And now I have an internet connection!
Why?
Here is what I suspect is happening. Somewhere, maybe in Android, maybe in the Peloton software, there is a check for online connectivity. Or maybe it's just part of the boot process that tries to communicate with a remote API. Whatever it is, something is communicating with an TLS encrypted remote service. During that TLS handshake, the Peloton gets the TLS certificate of whatever it is talking to. That TLS certificate has an expiration date, which is almost certainly before 2077. So the TLS certificate is invalid, and the network call fails. The software isn't very robust in looking about why the network call failed. DNS error, TLS handshake failure? Doesn't matter. It tried to access the network, and got an error. So it reports "No internet Connection."
Clocks man. Clocks.