You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Provide SDK-owned trait for dynamic client certificates (decouple from rustls) #1341
The current client_cert_resolver field accepts Arc<dyn ResolvesClientCert>, which is a rustls trait re-exported from the crate root. This works but has drawbacks:
Semver coupling — a rustls breaking change becomes a Temporal SDK breaking change
Ergonomics — users must understand CertifiedKey, SignatureScheme, and has_certs() to implement the trait
Asymmetry — the Go SDK's GetClientCertificate just returns (cert, key, error)
Proposal
Add an SDK-owned trait alongside the raw re-export:
Internally, build a ResolvesClientCert adapter. This covers the 90% use case (file-watching, Vault) trivially, while the raw trait remains available for power users (HSM-backed signers).
References
Go SDK: tls.Config.GetClientCertificate
Review discussion: 4 reviewers independently recommended this
Activity