Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve handling of TLS certificate pinning #1

Open
simitt opened this issue Nov 30, 2021 · 2 comments
Open

Improve handling of TLS certificate pinning #1

simitt opened this issue Nov 30, 2021 · 2 comments

Comments

@simitt
Copy link

simitt commented Nov 30, 2021

elastic/go-elasticsearch#358 added certificate pinning when talking to Elasticsearch. The current implementation has some limitations though:

  • The certificate pinning is only applied to *http.Transport instances, excluding transports that are wrapped by some other logic, for example when wrapped by the apm go agent.
  • when applied, the given DialTLS function is replaced by the go-elasticsearch agent function, only checking the TLS fingerprint (https://github.com/elastic/go-elasticsearch/blob/main/estransport/estransport.go#L157-L181).
  • InsecureSkipVerify is set to true when checking the fingerprint, not considering potentially configured CA certs at this point.
  • It only supports one fingerprint
@Anaethelion Anaethelion self-assigned this Nov 30, 2021
@Anaethelion
Copy link
Contributor

Transferring this issue to elastic/elastic-transport-go to continue the work there!

@Anaethelion Anaethelion transferred this issue from elastic/go-elasticsearch Dec 2, 2021
@mfelipe
Copy link

mfelipe commented May 5, 2023

Just to add another example, is not possible to use DataDog tracer with CA certificates for the same reason explained by @simitt in the first item. I know it's been more than two years, but can you guys come back to it? I can help if necessary. Thanks!

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

No branches or pull requests

3 participants