diff --git a/test/openssl/test_pkey.rb b/test/openssl/test_pkey.rb index f74b82f14..d961dfe07 100644 --- a/test/openssl/test_pkey.rb +++ b/test/openssl/test_pkey.rb @@ -433,6 +433,15 @@ def test_s_from_parameters_dh_with_invalid_parameter e = assert_raise(OpenSSL::PKey::PKeyError) { OpenSSL::PKey.from_parameters("DH", invalid: 1234) } assert_match(/Invalid parameter "invalid"/, e.message) end + + def test_s_from_parameters_ed25519 + # Ed25519 is not FIPS-approved. + omit_on_fips + + key = OpenSSL::PKey.from_parameters("ED25519", pub: "\xD0\x8E\xA8\x96\xB6Fbi{$k\xAC\xB8\xA2V\xF4n\xC3\xD06}R\x8A\xE6I\xA7r\xF6D{W\x84") + assert_instance_of OpenSSL::PKey::PKey, key + assert_equal "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA0I6olrZGYml7JGusuKJW9G7D0DZ9UormSady9kR7V4Q=\n-----END PUBLIC KEY-----\n", key.public_to_pem + end else def test_from_parameter_raises_on_pre_3_openssl e = assert_raise(OpenSSL::PKey::PKeyError) {