Class: LicenseKit::PublicKeyStore
- Inherits:
-
Object
- Object
- LicenseKit::PublicKeyStore
- Defined in:
- lib/licensekit/verification.rb
Instance Method Summary collapse
- #add(key) ⇒ Object
- #add_all(keys) ⇒ Object
- #get(kid) ⇒ Object
-
#initialize(keys = nil) ⇒ PublicKeyStore
constructor
A new instance of PublicKeyStore.
- #values ⇒ Object
- #verify_key(kid) ⇒ Object
Constructor Details
#initialize(keys = nil) ⇒ PublicKeyStore
Returns a new instance of PublicKeyStore.
20 21 22 23 24 |
# File 'lib/licensekit/verification.rb', line 20 def initialize(keys = nil) @keys = {} @verify_keys = {} Array(keys).each { |key| add(key) } end |
Instance Method Details
#add(key) ⇒ Object
26 27 28 29 |
# File 'lib/licensekit/verification.rb', line 26 def add(key) @keys[key.fetch("kid")] = key @verify_keys.delete(key.fetch("kid")) end |
#add_all(keys) ⇒ Object
31 32 33 |
# File 'lib/licensekit/verification.rb', line 31 def add_all(keys) Array(keys).each { |key| add(key) } end |
#get(kid) ⇒ Object
35 36 37 |
# File 'lib/licensekit/verification.rb', line 35 def get(kid) @keys[kid] end |
#values ⇒ Object
39 40 41 |
# File 'lib/licensekit/verification.rb', line 39 def values @keys.values end |
#verify_key(kid) ⇒ Object
43 44 45 46 47 48 |
# File 'lib/licensekit/verification.rb', line 43 def verify_key(kid) key = get(kid) raise TypeError, "Unknown public key kid: #{kid}" if key.nil? @verify_keys[kid] ||= Ed25519::VerifyKey.new(LicenseKit.send(:decode_base64, key.fetch("public_key"))) end |