Class: Cryptor::SymmetricEncryption::Keyring
- Inherits:
-
Object
- Object
- Cryptor::SymmetricEncryption::Keyring
- Defined in:
- lib/cryptor/symmetric_encryption/keyring.rb
Overview
Stores multiple keys for the purposes of key rotation
Instance Method Summary collapse
- #find(fingerprint) ⇒ Object (also: #[])
-
#initialize(*keys) ⇒ Keyring
constructor
A new instance of Keyring.
Constructor Details
#initialize(*keys) ⇒ Keyring
Returns a new instance of Keyring.
7 8 9 10 11 12 13 14 |
# File 'lib/cryptor/symmetric_encryption/keyring.rb', line 7 def initialize(*keys) @keys = {} keys.each do |key| key = SecretKey.new(key) if key.is_a? String fail TypeError, "not a valid secret key: #{key.inspect}" unless key.is_a? SecretKey @keys[key.fingerprint] = key end end |
Instance Method Details
#find(fingerprint) ⇒ Object Also known as: []
16 17 18 |
# File 'lib/cryptor/symmetric_encryption/keyring.rb', line 16 def find(fingerprint) @keys[fingerprint] || fail(KeyNotFoundError, "no key for fingerprint: #{fingerprint}") end |