Remove hardcoded CA certificates to prevent firmware update failures #692
+20
−505
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CA certificates hardcoded in
include/cert.hcan expire before firmware updates, causing HTTPS connection failures that block over-the-air updates from GitHub.Changes
include/cert.h(47 lines) andcert_updater.py(443 lines) that updated certificates during buildFirmwareUpdate()to usesetInsecure()for GitHub connectionscert_updater.pyfromplatformio.inibuild flagsImplementation
Trade-offs
Using
setInsecure()skips certificate verification but maintains TLS encryption. This is scoped to firmware updates from known GitHub servers. The Arduino-ESP32 WiFiClientSecure API doesn't expose a method to use ESP-IDF's built-in certificate bundle without providing custom bundle data, which would require framework changes.Net: -505 lines, eliminates certificate expiration as a failure mode.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.