From 9b65e9d82cfdfb11f3c2e42e8bdde155c651c649 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Sun, 16 Feb 2020 16:08:43 +0900 Subject: Guard for OpenSSL::PKey::EC::Group::Error with unsupported platforms --- test/test_pkey_ec.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/test/test_pkey_ec.rb b/test/test_pkey_ec.rb index 1278a8b1..6b83ed76 100644 --- a/test/test_pkey_ec.rb +++ b/test/test_pkey_ec.rb @@ -290,13 +290,18 @@ class OpenSSL::TestEC < OpenSSL::PKeyTestCase end def test_ec_point_add - group = OpenSSL::PKey::EC::Group.new(:GFp, 17, 2, 2) - group.point_conversion_form = :uncompressed - gen = OpenSSL::PKey::EC::Point.new(group, B(%w{ 04 05 01 })) - group.set_generator(gen, 19, 1) + begin + group = OpenSSL::PKey::EC::Group.new(:GFp, 17, 2, 2) + group.point_conversion_form = :uncompressed + gen = OpenSSL::PKey::EC::Point.new(group, B(%w{ 04 05 01 })) + group.set_generator(gen, 19, 1) - point_a = OpenSSL::PKey::EC::Point.new(group, B(%w{ 04 06 03 })) - point_b = OpenSSL::PKey::EC::Point.new(group, B(%w{ 04 10 0D })) + point_a = OpenSSL::PKey::EC::Point.new(group, B(%w{ 04 06 03 })) + point_b = OpenSSL::PKey::EC::Point.new(group, B(%w{ 04 10 0D })) + rescue OpenSSL::PKey::EC::Group::Error + pend "Patched OpenSSL rejected curve" if /unsupported field/ =~ $!.message + raise + end result = point_a.add(point_b) assert_equal B(%w{ 04 0D 07 }), result.to_octet_string(:uncompressed) -- cgit v1.2.3