Skip to content

Commit afd41ab

Browse files
committed
Switch from forwardable to Delegator for delegation to OpenSSL::PKey::RSA
1 parent 724f325 commit afd41ab

File tree

1 file changed

+15
-12
lines changed
  • lib/openssl/signature_algorithm

1 file changed

+15
-12
lines changed

lib/openssl/signature_algorithm/rsa.rb

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,35 @@
11
# frozen_string_literal: true
22

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

77
module OpenSSL
88
module SignatureAlgorithm
99
class RSA < Base
10-
class SigningKey
11-
extend Forwardable
12-
13-
def_delegators :@pkey, :sign, :verify
14-
def_delegators :@pkey, :public_key, :private_key, :to_pem, :to_der, :public?, :private?, :export, :to_s
15-
def_delegators :@pkey, :public_encrypt, :public_decrypt, :private_encrypt, :private_decrypt
16-
def_delegators :@pkey, :sign_pss, :verify_pss
17-
def_delegators :@pkey, :blinding_off!, :blinding_on!
18-
def_delegators :@pkey, :params, :to_text
10+
class SigningKey < Delegator
11+
def __getobj__
12+
@pkey
13+
end
1914

2015
def initialize(*args)
21-
@pkey = OpenSSL::PKey::RSA.generate(*args)
16+
@pkey = OpenSSL::PKey::RSA.new(*args)
2217
end
2318

2419
def verify_key
2520
VerifyKey.new(public_key.to_pem)
2621
end
2722
end
2823

29-
class VerifyKey < OpenSSL::PKey::RSA
24+
class VerifyKey < Delegator
25+
def __getobj__
26+
@pkey
27+
end
28+
29+
def initialize(*args)
30+
@pkey = OpenSSL::PKey::RSA.new(*args)
31+
end
32+
3033
class << self
3134
alias_method :deserialize, :new
3235
end

0 commit comments

Comments
 (0)