Skip to content

Commit 5185307

Browse files
committed
Simplify delegation for OpenSSL::SignatureAlgorithm::ECDSA too
1 parent 8657ec1 commit 5185307

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

lib/openssl/signature_algorithm/ecdsa.rb

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# frozen_string_literal: true
22

3-
require "forwardable"
3+
require "delegate"
44
require "openssl"
55
require "openssl/signature_algorithm/base"
66

@@ -9,23 +9,21 @@ module SignatureAlgorithm
99
class ECDSA < Base
1010
BYTE_LENGTH = 8
1111

12-
class SigningKey
13-
extend Forwardable
14-
15-
def_delegators :@pkey, :sign, :verify
16-
def_delegators :@pkey, :public_key, :private_key, :to_pem, :to_der, :public?, :private?, :export, :to_s
17-
def_delegators :@pkey, :group, :check_key, :dh_compute_key, :dsa_sign_asn1, :dsa_verify_asn1
18-
12+
class SigningKey < DelegateClass(OpenSSL::PKey::EC)
1913
def initialize(*args)
20-
@pkey = OpenSSL::PKey::EC.generate(*args)
14+
super(OpenSSL::PKey::EC.generate(*args))
2115
end
2216

2317
def verify_key
2418
VerifyKey.new(group, public_key.to_bn)
2519
end
2620
end
2721

28-
class VerifyKey < OpenSSL::PKey::EC::Point
22+
class VerifyKey < DelegateClass(OpenSSL::PKey::EC::Point)
23+
def initialize(*args)
24+
super(OpenSSL::PKey::EC::Point.new(*args))
25+
end
26+
2927
def self.deserialize(pem_string)
3028
new(OpenSSL::PKey::EC.new(pem_string).public_key)
3129
end

0 commit comments

Comments
 (0)