Skip to content

feat: add --ca-cert to trust a custom CA - #119

Merged
yarolegovich merged 1 commit into
mainfrom
yarolegovich/ca-cert
Nov 4, 2026
Merged

yarolegovich merged 1 commit into
mainfrom
yarolegovich/ca-cert

Conversation

@yarolegovich

@yarolegovich yarolegovich commented Nov 3, 2026 •

Copy link
Copy Markdown
Member
  • Added the global --ca-cert <file> flag so that agents behind a private or self-signed CA can be reached over TLS. The card request and the REST, JSON-RPC and gRPC transports trust only the PEM certificates in the file, and --insecure keeps gRPC plaintext.
  • The file is read when a command connects to an agent. A bad path fails that command with a usage error, and config show keeps working.
  • --ca-cert is not read from a .env discovered by walking up from the working directory, like --unix-socket and credential-helper, so a cloned repository can't choose the certificates a2a trusts.
  • TestGRPCTransportSecurity trusts its test server through --ca-cert, so it no longer re-runs the test binary with x509.SetFallbackRoots.

Closes #99.

Agents behind a private or self-signed CA could not be reached over TLS,
because the card request and every transport trusted only the system
store. --ca-cert names a PEM file whose certificates a2a trusts for the
card request and the REST, JSON-RPC and gRPC transports.

The file is read when a command connects, so a bad path does not break
config show. A .env discovered in the working tree cannot set it, the
same as --unix-socket.

TestGRPCTransportSecurity trusts its test server through --ca-cert, so
it no longer re-runs the test binary with x509.SetFallbackRoots.
@yarolegovich
yarolegovich marked this pull request as ready for review November 3, 2026 19:26
@yarolegovich
yarolegovich merged commit b8309d0 into main Nov 4, 2026
6 of 8 checks passed
@yarolegovich
yarolegovich deleted the yarolegovich/ca-cert branch November 4, 2026 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: built-in gRPC client cannot connect with TLS

2 participants