More flexible and safer client authentication API.#110
Merged
ctz merged 6 commits intorustls:masterfrom Sep 3, 2017
Merged
Conversation
Temporarily use webpki from its Git repo, until the next version of it is released.
Allow the resolver to rely on the fact that the name is a valid DNS name. In particular it allows it to know that the DNS name is given in the IDN ASCII (punycode) encoding.
Make it clear that the name passed into ClientSession is a DNS name
and cannot be empty (""), an IP address, an internationalized domain
name, etc. It has to be a DNS hostname because it is put into the SNI
extension in the client hello.
Contributor
Author
|
This is built on top of #108. Only the last commit here is specific to this PR. |
25b48ea to
6ef0437
Compare
Stop making "no client authentication" the silent default, because that is not a safe default. Instead, require the user to make an explicit choice of whether/how to do client authentication. Previously, the default client authentication setting was the least safe, so there's was no need to make the ability to plug in a client auth implementation a “dangerous” feature. With this change, the ability to provide one's own client authentication implementation is available in the default configuration. Some servers need more flexibility in doing client authentication than was previously provided. Now all the choices for client authentication are made by `ClientCertVerifier`.
6ef0437 to
2cb3e6d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stop making "no client authentication" the silent default, because that
is not a safe default. Instead, require the user to make an explicit
choice of whether/how to do client authentication.
Previously, the default client authentication setting was the least
safe, so there's was no need to make the ability to plug in a client
auth implementation a “dangerous” feature. With this change, the
ability to provide one's own client authentication implementation
is available in the default configuration.
Some servers need more flexibility in doing client authentication than
was previously provided. Now all the choices for client authentication
are made by
ClientCertVerifier.