Skip to content

Commit

Permalink
Support RSA.import for all Ruby versions.
Browse files Browse the repository at this point in the history
  • Loading branch information
rabajaj0509 committed Sep 17, 2019
1 parent a269358 commit a9c0aa8
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions lib/jwt/jwk/rsa.rb
Expand Up @@ -39,9 +39,14 @@ def export

def self.import(jwk_data)
imported_key = OpenSSL::PKey::RSA.new
imported_key.set_key(OpenSSL::BN.new(::Base64.urlsafe_decode64(jwk_data[:n]), BINARY),
OpenSSL::BN.new(::Base64.urlsafe_decode64(jwk_data[:e]), BINARY),
nil)
if imported_key.respond_to?(:set_key)
imported_key.set_key(OpenSSL::BN.new(::Base64.urlsafe_decode64(jwk_data[:n]), BINARY),
OpenSSL::BN.new(::Base64.urlsafe_decode64(jwk_data[:e]), BINARY),
nil)
else
imported_key.n = OpenSSL::BN.new(::Base64.urlsafe_decode64(jwk_data[:n]), BINARY)
imported_key.e = OpenSSL::BN.new(::Base64.urlsafe_decode64(jwk_data[:e]), BINARY)
end
self.new(imported_key)
end
end
Expand Down

0 comments on commit a9c0aa8

Please sign in to comment.