lib/saml/kit/configuration.rb in saml-kit-1.0.14 vs lib/saml/kit/configuration.rb in saml-kit-1.0.15

- old
+ new

@@ -54,29 +54,29 @@ # @param certificate [String] the x509 certificate with public key. # @param private_key [String] the plain text private key. # @param passphrase [String] the password to decrypt the private key. # @param use [Symbol] the type of key pair, `:signing` or `:encryption` def add_key_pair(certificate, private_key, passphrase: nil, use: :signing) - ensure_proper_use!(use) + ensure_proper_use(use) @key_pairs.push(::Xml::Kit::KeyPair.new(certificate, private_key, passphrase, use.to_sym)) end # Generates a unique key pair that can be used for signing or encryption. # # @param use [Symbol] the type of key pair, `:signing` or `:encryption` # @param passphrase [String] the private key passphrase to use. def generate_key_pair_for(use:, passphrase: SecureRandom.uuid) - ensure_proper_use!(use) + ensure_proper_use(use) certificate, private_key = ::Xml::Kit::SelfSignedCertificate.new.create(passphrase: passphrase) add_key_pair(certificate, private_key, passphrase: passphrase, use: use) end # Return each key pair for a specific use. # # @param use [Symbol] the type of key pair to return `nil`, `:signing` or `:encryption` def key_pairs(use: nil) - use.present? ? @key_pairs.find_all { |x| x.for?(use) } : @key_pairs + use.present? ? @key_pairs.find_all { |xxx| xxx.for?(use) } : @key_pairs end # Return each certificate for a specific use. # # @param use [Symbol] the type of key pair to return `nil`, `:signing` or `:encryption` @@ -91,15 +91,15 @@ key_pairs(use: use).flat_map(&:private_key) end # Returns true if there is at least one signing certificate registered. def sign? - certificates(use: :signing).any? + @sign ||= certificates(use: :signing).any? end private - def ensure_proper_use!(use) + def ensure_proper_use(use) return if USES.include?(use) error_message = 'Use must be either :signing or :encryption' raise ArgumentError, error_message end