quintodrome/server
Deluan Quintão 9913235542
fix(server): improve error message for encrypted TLS private keys (#4742)
Added TLS certificate validation that detects encrypted (password-protected)
private keys and provides a clear error message with instructions on how to
decrypt them using openssl. This addresses user confusion when Go's standard
library fails with the cryptic 'tls: failed to parse private key' error.

Changes:
- Added validateTLSCertificates function to validate certs before server start
- Added isEncryptedPEM helper to detect both PKCS#8 and legacy encrypted keys
- Added comprehensive tests for TLS validation including encrypted key detection
- Added integration test that starts server with TLS and verifies HTTPS works
- Added test certificates (valid for 100 years) with SAN for localhost

Signed-off-by: Deluan <deluan@navidrome.org>
2025-11-28 17:08:34 -05:00
..
backgrounds feat(ui): use webp for login backgrounds 2025-03-06 23:32:52 -05:00
events feat: Multi-library support (#4181) 2025-07-18 18:41:12 -04:00
nativeapi fix: album statistics not updating after deleting missing files (#4668) 2025-11-08 20:11:00 -05:00
public fix(share): force share image to be square (to fix aspect ratio) (#4122) 2025-05-26 17:39:05 -04:00
subsonic feat(scanner): implement selective folder scanning and file system watcher improvements (#4674) 2025-11-14 22:15:43 -05:00
testdata fix(server): improve error message for encrypted TLS private keys (#4742) 2025-11-28 17:08:34 -05:00
auth.go feat(plugins): allow Plugins to call the Subsonic API (#4260) 2025-06-25 14:18:32 -04:00
auth_test.go fix(server): first user created should be admin, when using reverse proxy (#3920) 2025-04-05 08:24:14 -03:00
initial_setup.go chore(server): add logs to begin/end transaction 2025-02-24 19:13:42 -05:00
initial_setup_test.go Upgrade Ginkgo to V2 2022-07-26 16:53:17 -04:00
middlewares.go feat(bfr): Big Refactor: new scanner, lots of new fields and tags, improvements and DB schema changes (#2709) 2025-02-19 20:35:17 -05:00
middlewares_test.go feat(ui): show user's lastAccess (#3342) 2024-09-30 20:46:10 -04:00
serve_index.go feat(ui): implement new event stream connection logic 2025-06-29 10:18:05 -04:00
serve_index_test.go feat(ui): implement new event stream connection logic 2025-06-29 10:18:05 -04:00
server.go fix(server): improve error message for encrypted TLS private keys (#4742) 2025-11-28 17:08:34 -05:00
server_suite_test.go Rename log.LevelCritical to log.LevelFatal 2022-12-21 14:53:36 -05:00
server_test.go fix(server): improve error message for encrypted TLS private keys (#4742) 2025-11-28 17:08:34 -05:00