summaryrefslogtreecommitdiff
path: root/test/openssl
diff options
context:
space:
mode:
authorJun Aruga <[email protected]>2024-09-05 20:06:37 +0200
committergit <[email protected]>2024-09-06 16:58:18 +0000
commitad742de79bcce53290005429868f63c51cbeb0f2 (patch)
treed0ca56fbedef4bd3ac5636bc4c28a79290b106d2 /test/openssl
parent30176e3f238f198ae835bf1c593d2ad2dce2df49 (diff)
[ruby/openssl] Fix test_provider.rb in FIPS.
https://github.com/ruby/openssl/commit/7bdbc52100
Diffstat (limited to 'test/openssl')
-rw-r--r--test/openssl/test_provider.rb25
1 files changed, 18 insertions, 7 deletions
diff --git a/test/openssl/test_provider.rb b/test/openssl/test_provider.rb
index b0ffae9ce7..6f85c00c98 100644
--- a/test/openssl/test_provider.rb
+++ b/test/openssl/test_provider.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
require_relative 'utils'
-if defined?(OpenSSL) && defined?(OpenSSL::Provider) && !OpenSSL.fips_mode
+if defined?(OpenSSL) && defined?(OpenSSL::Provider)
class OpenSSL::TestProvider < OpenSSL::TestCase
def test_openssl_provider_name_inspect
@@ -12,14 +12,22 @@ class OpenSSL::TestProvider < OpenSSL::TestCase
end
def test_openssl_provider_names
+ # We expect the following providers are loaded in the cases:
+ # * Non-FIPS: default
+ # * FIPS: fips, base
+ # Use the null provider to test the added provider.
+ # See provider(7) - OPENSSL PROVIDERS to see the list of providers, and
+ # OSSL_PROVIDER-null(7) to check the details of the null provider.
with_openssl <<-'end;'
- base_provider = OpenSSL::Provider.load("base")
- assert_equal(2, OpenSSL::Provider.provider_names.size)
- assert_includes(OpenSSL::Provider.provider_names, "base")
+ num = OpenSSL::Provider.provider_names.size
- assert_equal(true, base_provider.unload)
- assert_equal(1, OpenSSL::Provider.provider_names.size)
- assert_not_includes(OpenSSL::Provider.provider_names, "base")
+ added_provider = OpenSSL::Provider.load("null")
+ assert_equal(num + 1, OpenSSL::Provider.provider_names.size)
+ assert_includes(OpenSSL::Provider.provider_names, "null")
+
+ assert_equal(true, added_provider.unload)
+ assert_equal(num, OpenSSL::Provider.provider_names.size)
+ assert_not_includes(OpenSSL::Provider.provider_names, "null")
end;
end
@@ -33,6 +41,9 @@ class OpenSSL::TestProvider < OpenSSL::TestCase
end
def test_openssl_legacy_provider
+ # The legacy provider is not supported on FIPS.
+ omit_on_fips
+
with_openssl(<<-'end;')
begin
OpenSSL::Provider.load("legacy")