Don't verify hostname when verify_hostname is false in tls_options #349
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.
https://ruby.github.io/openssl/OpenSSL/SSL/SSLContext.html documents the option
verify_hostname
as whether to check the server certificate is valid for the hostname.But when I set
verify_hostname
tofalse
intls_options
, it has no effect, it still reports the error "hostname does not match the server certificate".Then I found this is the result of #259 but the assumption is wrong that users who don't care about hostname validation should set
verify_mode
toOpenSSL::SSL::VERIFY_NONE
. This disables the certificate validation completely. Maybe the reason why #259 didn't add a check forverify_hostname
is becauseverify_hostname
was added later in ruby/openssl#60 (i.e. the same year but a few months later).So for more fine-grained configuration to disable only hostname verification without disabling certificate validation, here is this pull request.