Sha256: 15d3e4839fdb73b144993ebc9a88e7a2871eb926d72fcb08aad4df98260ae8ed
Contents?: true
Size: 638 Bytes
Versions: 3
Compression:
Stored size: 638 Bytes
Contents
require 'cryptor/symmetric_encryption/secret_key' module Cryptor class SymmetricEncryption # Stores multiple keys for the purposes of key rotation class Keyring 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 def find(fingerprint) @keys[fingerprint] || fail(KeyNotFoundError, "no key for fingerprint: #{fingerprint}") end alias_method :[], :find end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cryptor-1.1.1 | lib/cryptor/symmetric_encryption/keyring.rb |
cryptor-1.1.0 | lib/cryptor/symmetric_encryption/keyring.rb |
cryptor-1.0.0 | lib/cryptor/symmetric_encryption/keyring.rb |