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

Update trusted CA certificates #273

Merged
merged 1 commit into from
Nov 3, 2015
Merged

Update trusted CA certificates #273

merged 1 commit into from
Nov 3, 2015

Conversation

nahi
Copy link
Owner

@nahi nahi commented Nov 3, 2015

Issue #230 blocked updating trusted CA certificates to 2048 bit version
long time. But from OpenSSL 1.0.1m and 1.0.2a it changes their custom
chain building algorithm to find shortcut path when it fails to validate
the path SSL server returns so that we can migrate trusted CA
certificates to 2048bit version atop OpenSSL.

Unfortunately the new algorithm has CVE-2015-1793 problem so we can use
this new algorithm actually from OpenSSL >= 1.0.1p or >= 1.0.2d. (Jul
2015)

After this commit HTTPClient leverages 2048 bit version of trusted CA
certificates if ruby is compiled with proper version of OpenSSL.

ver = OpenSSL::OPENSSL_VERSION
if (ver.start_with?('OpenSSL 1.0.1') && ver >= 'OpenSSL 1.0.1p') ||
    (ver.start_with?('OpenSSL ') && ver >= 'OpenSSL 1.0.2d')
  filename = 'cacert.pem'
else
  filename = 'cacert1024.pem'
end

Issue #230 blocked updating trusted CA certificates to 2048 bit version
long time. But from OpenSSL 1.0.1m and 1.0.2a it changes their custom
chain building algorithm to find shortcut path when it fails to validate
the path SSL server returns so that we can migrate trusted CA
certificates to 2048bit version atop OpenSSL.

Unfortunately the new algorithm has CVE-2015-1793 problem so we can use
this new algorithm actually from OpenSSL >= 1.0.1p or >= 1.0.2d. (Jul
2015)

After this commit HTTPClient leverages 2048 bit version of trusted CA
certificates if ruby is compiled with proper version of OpenSSL.

```
ver = OpenSSL::OPENSSL_VERSION
if (ver.start_with?('OpenSSL 1.0.1') && ver >= 'OpenSSL 1.0.1p') ||
    (ver.start_with?('OpenSSL ') && ver >= 'OpenSSL 1.0.2d')
  filename = 'cacert.pem'
else
  filename = 'cacert1024.pem'
end
```
nahi added a commit that referenced this pull request Nov 3, 2015
@nahi nahi merged commit d935dad into master Nov 3, 2015
@nahi nahi deleted the update_cacerts_2048 branch November 3, 2015 14:15
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