update the way we specify a minimum TLS version to be compatible with ruby 2.5 #570
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.
What does this pull request do?
Sets the minimum protocol version for TLS connections in a way that works for ruby 2.5.
What background context can you provide?
Prior to ruby 2.5, setting
OpenSSL::SSL::SSLContext::DEFAULT_PARAMS[:ssl_version]was the way to set the minimum protocol version. Settingssl_versionin 2.5 is deprecated, however, and seems to clamp the version to exactly the one specified. (Or, it could be broken, I'm not really sure.)Where should the reviewer start?
Take a look at the
openssl.rb.How should this be manually tested?
Running in ruby 2.5, this code shows the problem:
The final GET will produce an error that looks like:
Changing the code to set
min_versioninstead ofssl_versionwill allow the SSL connection to be established correctly, and the GET will return a 403.The doc says that setting
min_versionwill prevent a downgrade to a lesser protocol version. I haven't been able to find a way to verify that.Screenshots (if appropriate)
Link to build in Jenkins (if appropriate)
https://jenkins.conjur.net/job/cyberark--conjur/job/tls-min-version_20180613/
Questions: