-
Notifications
You must be signed in to change notification settings - Fork 184
ssl: remove OpenSSL::X509::V_FLAG_CRL_CHECK_ALL from the default store #950
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
ssl: remove OpenSSL::X509::V_FLAG_CRL_CHECK_ALL from the default store #950
Conversation
With OpenSSL 3.6.0, it causes nearly every certificate verification to fail with the message "certificate verify failed (unable to get certificate CRL)" because the CRLs are typically unavailable in the default store used by OpenSSL::SSL::SSLContext#set_params. OpenSSL::X509::V_FLAG_CRL_CHECK_ALL is a flag that extends the CRL checking to all certificates in the chain. In OpenSSL < 3.6.0, the flag alone has no effect, and OpenSSL::X509::V_FLAG_CRL_CHECK must also be set to enable CRL checking. In OpenSSL 3.6.0, OpenSSL::X509::V_FLAG_CRL_CHECK_ALL now implies OpenSSL::X509::V_FLAG_CRL_CHECK. This is inconsistent with the man page and may be fixed in a future OpenSSL 3.6.x release, but this flag is not needed and should not be set by default. Fixes ruby#949
|
It's an issue in https://github.com/ruby/test-unit-ruby-core with Ruby < 3.3, which was released to rubygems.org just before I pushed the merge button. This PR is for maint-3.1 and doesn't use the gem yet. |
Ah, all right. I misunderstood this PR was for the master branch. The test-unit-ruby-core 1.0.8 caused the failures. But today test-unit-ruby-core 1.0.9 was released, and I see the CI passed again at the commit 64f4aae. |
|
This will nerver finish because some 20.04 runners are still in-use |
|
Thanks for this fix. Going to paste the exact error message here so that folks Googling can find this fix:
|
Fixes "certificate verify failed (unable to get certificate CRL)" error with OpenSSL 3.6.0 by adding an explicit dep on the minimum patch version of the openssl default gem. ruby/openssl#950
With OpenSSL 3.6.0, it causes nearly every certificate verification to fail with the message
certificate verify failed (unable to get certificate CRL)because the CRLs are typically unavailable in the default store used byOpenSSL::SSL::SSLContext#set_params.OpenSSL::X509::V_FLAG_CRL_CHECK_ALLis a flag that extends the CRL checking to all certificates in the chain. In OpenSSL < 3.6.0, the flag alone has no effect, andOpenSSL::X509::V_FLAG_CRL_CHECKmust also be set to enable CRL checking.In OpenSSL 3.6.0,
OpenSSL::X509::V_FLAG_CRL_CHECK_ALLnow impliesOpenSSL::X509::V_FLAG_CRL_CHECK. This is inconsistent with the man page and may be fixed in a future OpenSSL 3.6.x release, but this flag is not needed and should not be set by default.Fixes #949