libsaml 2.6.9 → 2.7.0
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 +4 -4
- data/lib/saml/provider.rb +5 -1
- data/lib/saml/util.rb +13 -1
- data/lib/saml/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15b1bc506c0d773071297dcf07db5790ae88f380
|
4
|
+
data.tar.gz: ec73cff60998ef1fbb56ff21997cd28765dfd818
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5774652f6ed9ad934b8bc619ec691cfe1bd90c423723f785ad5e5697a12973ef2ce182a76bd0f8973858efc20a42c4cc1eee77d0ff47a0dca9a40d314057d576
|
7
|
+
data.tar.gz: cc807e052949b5d7319e504329644e330fea0d9a32898a9333b8379c597914e521995b4e46d99fa0ffc9e713264be4d6bea9b35ac49cf376d510a5f11692af39
|
data/lib/saml/provider.rb
CHANGED
@@ -35,10 +35,14 @@ module Saml
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def certificate(key_name = nil, use = "signing")
|
38
|
-
key_descriptor =
|
38
|
+
key_descriptor = find_key_descriptor(key_name, use)
|
39
39
|
key_descriptor.certificate if key_descriptor
|
40
40
|
end
|
41
41
|
|
42
|
+
def find_key_descriptor(key_name = nil, use = "signing")
|
43
|
+
descriptor.find_key_descriptor(key_name, use)
|
44
|
+
end
|
45
|
+
|
42
46
|
def private_key
|
43
47
|
@private_key
|
44
48
|
end
|
data/lib/saml/util.rb
CHANGED
@@ -51,7 +51,18 @@ module Saml
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
def encrypt_assertion(assertion,
|
54
|
+
def encrypt_assertion(assertion, key_descriptor_or_certificate)
|
55
|
+
case key_descriptor_or_certificate
|
56
|
+
when OpenSSL::X509::Certificate
|
57
|
+
certificate = key_descriptor_or_certificate
|
58
|
+
key_name = nil
|
59
|
+
when Saml::Elements::KeyDescriptor
|
60
|
+
certificate = key_descriptor_or_certificate.certificate
|
61
|
+
key_name = key_descriptor_or_certificate.key_info.key_name
|
62
|
+
else
|
63
|
+
raise ArgumentError.new("Expecting Certificate or KeyDescriptor got: #{key_descriptor_or_certificate.class}")
|
64
|
+
end
|
65
|
+
|
55
66
|
assertion = assertion.to_xml(nil, nil, false) if assertion.is_a?(Assertion) # create xml without instruct
|
56
67
|
|
57
68
|
encrypted_data = Xmlenc::Builder::EncryptedData.new
|
@@ -60,6 +71,7 @@ module Saml
|
|
60
71
|
encrypted_key = encrypted_data.encrypt(assertion.to_s)
|
61
72
|
encrypted_key.set_encryption_method(algorithm: 'http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p',
|
62
73
|
digest_method_algorithm: 'http://www.w3.org/2000/09/xmldsig#sha1')
|
74
|
+
encrypted_key.set_key_name(key_name)
|
63
75
|
encrypted_key.encrypt(certificate.public_key)
|
64
76
|
|
65
77
|
Saml::Elements::EncryptedAssertion.new(encrypted_data: encrypted_data, encrypted_keys: encrypted_key)
|
data/lib/saml/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libsaml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benoist Claassen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 0.3.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
82
|
+
version: 0.3.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: curb
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|