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

Configurable TLS server clientCertificate request and validation behavior #94

Merged
merged 7 commits into from
Apr 11, 2023

Conversation

karimra
Copy link
Collaborator

@karimra karimra commented Apr 10, 2023

This PR adds a configuration attribute to control when and how a server requests and validates a client TLS certificate.
This applies to the api-server, the gnmi-server, the tunnel server and the prometheus output.
The new attribute name is client-auth and is set under the TLS config of each of the servers specified above.
client-auth has 4 possible values:

  • request:
    The server requests a certificate from the client but does not require the client to send a certificate.
    If the server sends a certificate, it is not required to be valid.
  • require:
    The server requires the client to send a certificate and does not fail if the client certificate is not valid.
  • verify-if-given:
    The server requests a certificate, does not fail if no certificate is sent. If a certificate is sent it is required to be valid.
  • require-verify:
    The server requires the client to send a valid certificate.

karimra and others added 5 commits April 11, 2023 08:58
Co-authored-by: Roman Dodin <dodin.roman@gmail.com>
Co-authored-by: Roman Dodin <dodin.roman@gmail.com>
Co-authored-by: Roman Dodin <dodin.roman@gmail.com>
Co-authored-by: Roman Dodin <dodin.roman@gmail.com>
Co-authored-by: Roman Dodin <dodin.roman@gmail.com>
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.

2 participants