saml-kit 0.3.4 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ad70b2071b99f00b70324892d2e65a8ce52484fa7d0ff62352e4976a82a892e4
4
- data.tar.gz: 97fe246f61a9fd00825aa260d091ab56032c4b2040471285ee539cf9bcc3f6ba
3
+ metadata.gz: aa6e4cc97ac1b952312da27f68858628cc913868c59184ace6d64b04369e045e
4
+ data.tar.gz: e86e6d0a6551896ebaa627827d176f8d300b155811af1c27b42a963356f32589
5
5
  SHA512:
6
- metadata.gz: fe12d759c879a36cc02fccf13667e4cc6aef412888ad83158b8c5e77aa35f5f19eacf030cfa9bed0e8c7207b6628bb53d9977d05cb83b1250decfdd0877e8888
7
- data.tar.gz: 95937710a9e9d962e356ee0fe4f989b18d934695db049988191e1e6b6fa3f8b429826b1842ec6c706120c867ee361a3eeaf79329d9662582c648dd6642b5eb93
6
+ metadata.gz: 91c05ab684c6e4da67e9a2b28d905d36c1e9edbe320879e61c9cc5fc79b8bdb8d0b7bae58c816aa6e2842521da524947183c6d65b6c55c32e5e052731f908f40
7
+ data.tar.gz: 2a78ce0bd35526550ab46e8cc4070be57a46e4805ab02a41105ba35a222f7dc4e9db67137c036914a84ff1df80b87ecb46e35523f0ba15d47cbcf1da033ae38c
@@ -20,6 +20,7 @@ module Saml
20
20
  # configuration.add_key_pair(ENV["X509_CERTIFICATE"], ENV["PRIVATE_KEY"], passphrase: ENV['PRIVATE_KEY_PASSPHRASE'], use: :encryption)
21
21
  # end
22
22
  class Configuration
23
+ USES = [:signing, :encryption]
23
24
  # The issuer or entity_id to use.
24
25
  attr_accessor :issuer
25
26
  # The signature method to use when generating signatures (See {Saml::Kit::Builders::XmlSignature::SIGNATURE_METHODS})
@@ -53,6 +54,7 @@ module Saml
53
54
  # @param passphrase [String] the password to decrypt the private key.
54
55
  # @param use [Symbol] the type of key pair, `:signing` or `:encryption`
55
56
  def add_key_pair(certificate, private_key, passphrase: '', use: :signing)
57
+ ensure_proper_use!(use)
56
58
  @key_pairs.push(::Xml::Kit::KeyPair.new(certificate, private_key, passphrase, use.to_sym))
57
59
  end
58
60
 
@@ -61,6 +63,7 @@ module Saml
61
63
  # @param use [Symbol] the type of key pair, `:signing` or `:encryption`
62
64
  # @param passphrase [String] the private key passphrase to use.
63
65
  def generate_key_pair_for(use:, passphrase: SecureRandom.uuid)
66
+ ensure_proper_use!(use)
64
67
  certificate, private_key = ::Xml::Kit::SelfSignedCertificate.new.create(passphrase: passphrase)
65
68
  add_key_pair(certificate, private_key, passphrase: passphrase, use: use)
66
69
  end
@@ -108,6 +111,15 @@ module Saml
108
111
  def sign?
109
112
  certificates(use: :signing).any?
110
113
  end
114
+
115
+ private
116
+
117
+ def ensure_proper_use!(use)
118
+ unless USES.include?(use)
119
+ error_message = "Use must be either :signing or :encryption"
120
+ raise ArgumentError.new(error_message)
121
+ end
122
+ end
111
123
  end
112
124
  end
113
125
  end
@@ -1,5 +1,5 @@
1
1
  module Saml
2
2
  module Kit
3
- VERSION = "0.3.4"
3
+ VERSION = "0.3.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: saml-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - mo khan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-01-10 00:00:00.000000000 Z
11
+ date: 2018-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel