Commit 9e4c757
committed
libtailscale: bridge user-installed CA certificates from Android to Go TLS
Go's crypto/x509 on Android only reads system CAs from
/system/etc/security/cacerts/ and does not read user-installed CAs from
the Android trust store. This causes TLS connections to fail with
"x509: certificate signed by unknown authority" when connecting to
servers using custom/self-signed CAs (e.g. Headscale with a private CA).
Add GetUserCACertsPEM() to the AppContext gomobile interface, implemented
in App.kt using KeyStore.getInstance("AndroidCAStore"). At startup, user
CA certs are written to the app's data directory and SSL_CERT_DIR is set
to include both the system and user cert directories, allowing Go's TLS
stack to trust user-installed certificates.
Fixes tailscale/tailscale#8085
Signed-off-by: Logan Rupe <logan@coldtap.io>1 parent 5819e29 commit 9e4c757
3 files changed
Lines changed: 46 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
408 | 408 | | |
409 | 409 | | |
410 | 410 | | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
411 | 432 | | |
412 | 433 | | |
413 | 434 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
87 | 106 | | |
88 | 107 | | |
89 | 108 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
69 | 75 | | |
70 | 76 | | |
71 | 77 | | |
| |||
0 commit comments