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

Disable cert verification for client certs? #68

Closed
alex opened this issue May 11, 2017 · 3 comments
Closed

Disable cert verification for client certs? #68

alex opened this issue May 11, 2017 · 3 comments

Comments

@alex
Copy link
Contributor

alex commented May 11, 2017

I want to start by saying that I recognize that in many senses this goes against the spirit of this (excellent) library, so if there's no interest, I'll be understanding.

I've got a use case where I'd like to be able to accept truly any client cert. I've also had use cases in previous contexts where I'd really want to be able to bring my own cert verification as a typical verifier would present a challenge, the most recent of these was wanting to use SCVP for verification instead of doing it myself.

@ctz
Copy link
Member

ctz commented May 11, 2017

I think I'm kind of softening on this as time goes on. But stuff like this is still going to always be behind a scarily-named feature, and probably exposed in a deliberately obtuse place in the API. I guess this is similar to PR #64

@alex
Copy link
Contributor Author

alex commented May 11, 2017

I am ok with that; I solemnly swear that I'll never use the scarily named option without a long comment explaining why in this very narrow context it's ok.

If you can suggest where in the API you'd like it, I'm happy to send a PR.

@alex
Copy link
Contributor Author

alex commented May 11, 2017

Here's a proposal:

  • New feature dangerous_configuration, which you have to enable in order to be able to use this stuff
  • On rustls::ServerConfig add a dangerous_configuration field, which is an instance of Option<rustls::DangerousServerConfig>
  • rustls::DangerousServerConfig has a disable_certificate_verification bool field
  • None of these fields exist unless the dangerous_configuration feature is enabled.

I think this makes things relatively inaccessible -- it also means that if a library wants to use all this, it's clearly propagated in a way that consumers can see it.

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

2 participants