xmlenc 0.1.0 → 0.1.1
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 +6 -14
- data/lib/xmlenc.rb +3 -0
- data/lib/xmlenc/algorithms/rsa_oaep_mgf1p.rb +1 -2
- data/lib/xmlenc/builder/complex_types/encrypted_type.rb +9 -0
- data/lib/xmlenc/builder/data_reference.rb +14 -0
- data/lib/xmlenc/builder/digest_method.rb +16 -0
- data/lib/xmlenc/builder/encrypted_data.rb +37 -0
- data/lib/xmlenc/builder/encrypted_key.rb +28 -0
- data/lib/xmlenc/builder/encryption_method.rb +7 -0
- data/lib/xmlenc/builder/reference_list.rb +19 -0
- data/lib/xmlenc/version.rb +1 -1
- data/spec/fixtures/template2.xml +47 -0
- data/spec/lib/xmlenc/builder/data_reference_spec.rb +13 -0
- data/spec/lib/xmlenc/builder/digest_method_spec.rb +18 -0
- data/spec/lib/xmlenc/builder/encrypted_key_spec.rb +29 -0
- data/spec/lib/xmlenc/builder/reference_list_spec.rb +24 -0
- data/spec/lib/xmlenc/encrypted_key_spec.rb +0 -2
- metadata +22 -11
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NWI3YzYxMDI0ODQ2OGNlMTM0YzgxZGY3NTIyZjQyYzIzNDY0NGJlZTQzNzlh
|
10
|
-
NjEyNWFjZTAwMmE0YmZjMWYzZDYxNDc5MTY5OTUxMjM5NDY5OTZlZmQ5MTJl
|
11
|
-
YTVmMzRjZTBmYzg4MzU2ODMzM2MyMmVkMDhkOTY0OWNhODNhMTk=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NjJiYmUyY2U5OTIxNTdiYTcyM2NiNTQ1ODM3YWE2NTI1ODJkYTNhNTgxMTYx
|
14
|
-
MWY1NGJiZDBiN2I0MjRjZmUyYjI1ZjgxMWM3YzliZWEzZTM3ODgyZmJjNmVm
|
15
|
-
YmM1M2U2ODNmYmNhNDMzNDFkNzk0OTUyM2YyYzViM2Y1Y2JhNzg=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c7f6fc7a9f8da577303f6edf0fbcb49fc97848af
|
4
|
+
data.tar.gz: 614545d1e5b4ca838d25541428c3e94e89a8d0d8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c93716a8483eea188e6e8755fc43d5d626b6aee440bd5609446fbb81b2f1d4d33b43c2495b677df9ca4be9f0474aa8f5f7b4e90f7fbdbff6ad8488f1337594ea
|
7
|
+
data.tar.gz: b6f37cb971264ab5db3986b7e7fbe0a315d8e72fa897ca1d3fbd1ecfc32d7fdab288cdd2326648799441508067757233c78f3ed849fb47096674f35d9ecc28b0
|
data/lib/xmlenc.rb
CHANGED
@@ -24,6 +24,9 @@ module Xmlenc
|
|
24
24
|
autoload :EncryptedKey, 'xmlenc/builder/encrypted_key'
|
25
25
|
autoload :KeyInfo, 'xmlenc/builder/key_info'
|
26
26
|
autoload :CipherData, 'xmlenc/builder/cipher_data'
|
27
|
+
autoload :DigestMethod, 'xmlenc/builder/digest_method'
|
28
|
+
autoload :ReferenceList, 'xmlenc/builder/reference_list'
|
29
|
+
autoload :DataReference, 'xmlenc/builder/data_reference'
|
27
30
|
|
28
31
|
module ComplexTypes
|
29
32
|
autoload :EncryptedType, 'xmlenc/builder/complex_types/encrypted_type'
|
@@ -12,8 +12,7 @@ module Xmlenc
|
|
12
12
|
@key.private_decrypt(cipher_value, OpenSSL::PKey::RSA::PKCS1_OAEP_PADDING)
|
13
13
|
end
|
14
14
|
|
15
|
-
def encrypt(data
|
16
|
-
verify_algorithm(options[:node]) if options[:node]
|
15
|
+
def encrypt(data)
|
17
16
|
@key.public_encrypt(data, OpenSSL::PKey::RSA::PKCS1_OAEP_PADDING)
|
18
17
|
end
|
19
18
|
|
@@ -14,6 +14,15 @@ module Xmlenc
|
|
14
14
|
|
15
15
|
validates :cipher_data, presence: true
|
16
16
|
end
|
17
|
+
|
18
|
+
def initialize(attributes = {})
|
19
|
+
super
|
20
|
+
self.cipher_data = CipherData.new
|
21
|
+
end
|
22
|
+
|
23
|
+
def set_encryption_method(attributes = {})
|
24
|
+
self.encryption_method = EncryptionMethod.new(attributes)
|
25
|
+
end
|
17
26
|
end
|
18
27
|
end
|
19
28
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Xmlenc
|
2
|
+
module Builder
|
3
|
+
class DigestMethod
|
4
|
+
include Xmlenc::Builder::Base
|
5
|
+
|
6
|
+
tag "DigestMethod"
|
7
|
+
|
8
|
+
register_namespace "ds", Xmlenc::NAMESPACES[:ds]
|
9
|
+
namespace "ds"
|
10
|
+
|
11
|
+
attribute :algorithm, String, tag: "Algorithm"
|
12
|
+
|
13
|
+
validates :algorithm, presence: true
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -3,11 +3,48 @@ module Xmlenc
|
|
3
3
|
class EncryptedData
|
4
4
|
include Xmlenc::Builder::ComplexTypes::EncryptedType
|
5
5
|
|
6
|
+
ALGORITHMS = {
|
7
|
+
'http://www.w3.org/2001/04/xmlenc#tripledes-cbc' => Algorithms::DES3CBC,
|
8
|
+
'http://www.w3.org/2001/04/xmlenc#aes128-cbc' => Algorithms::AESCBC[128],
|
9
|
+
'http://www.w3.org/2001/04/xmlenc#aes256-cbc' => Algorithms::AESCBC[256]
|
10
|
+
}
|
11
|
+
TYPES = {
|
12
|
+
'http://www.w3.org/2001/04/xmlenc#Element' => :element,
|
13
|
+
'http://www.w3.org/2001/04/xmlenc#Content' => :content,
|
14
|
+
}
|
15
|
+
|
6
16
|
tag "EncryptedData"
|
7
17
|
namespace "xenc"
|
8
18
|
|
9
19
|
attribute :id, String, tag: "Id"
|
10
20
|
attribute :type, String, tag: "Type"
|
21
|
+
|
22
|
+
def type
|
23
|
+
'http://www.w3.org/2001/04/xmlenc#Element'
|
24
|
+
end
|
25
|
+
|
26
|
+
def initialize(attributes = {})
|
27
|
+
super
|
28
|
+
self.id = SecureRandom.hex(5)
|
29
|
+
end
|
30
|
+
|
31
|
+
def encrypt(data)
|
32
|
+
encryptor = algorithm.setup
|
33
|
+
encrypted = encryptor.encrypt(data, node: encryption_method)
|
34
|
+
cipher_data.cipher_value = Base64.encode64(encrypted)
|
35
|
+
|
36
|
+
encrypted_key = EncryptedKey.new(data: encryptor.key)
|
37
|
+
encrypted_key.add_data_reference(id)
|
38
|
+
encrypted_key
|
39
|
+
end
|
40
|
+
|
41
|
+
private
|
42
|
+
|
43
|
+
def algorithm
|
44
|
+
algorithm = encryption_method.algorithm
|
45
|
+
ALGORITHMS[algorithm] ||
|
46
|
+
raise(UnsupportedError.new("Unsupported encryption method #{algorithm}"))
|
47
|
+
end
|
11
48
|
end
|
12
49
|
end
|
13
50
|
end
|
@@ -3,8 +3,36 @@ module Xmlenc
|
|
3
3
|
class EncryptedKey
|
4
4
|
include Xmlenc::Builder::ComplexTypes::EncryptedType
|
5
5
|
|
6
|
+
ALGORITHMS = {
|
7
|
+
'http://www.w3.org/2001/04/xmlenc#rsa-1_5' => Algorithms::RSA15,
|
8
|
+
'http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p' => Algorithms::RsaOaepMgf1p
|
9
|
+
}
|
10
|
+
|
6
11
|
tag "EncryptedKey"
|
7
12
|
namespace "xenc"
|
13
|
+
|
14
|
+
has_one :reference_list, Xmlenc::Builder::ReferenceList, xpath: "./"
|
15
|
+
|
16
|
+
attr_accessor :data
|
17
|
+
|
18
|
+
def encrypt(key, data = nil)
|
19
|
+
encryptor = algorithm.new(key)
|
20
|
+
encrypted = encryptor.encrypt(data || self.data)
|
21
|
+
cipher_data.cipher_value = Base64.encode64(encrypted)
|
22
|
+
end
|
23
|
+
|
24
|
+
def add_data_reference(data_id)
|
25
|
+
self.reference_list ||= ReferenceList.new
|
26
|
+
self.reference_list.add_data_reference(data_id)
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def algorithm
|
32
|
+
algorithm = encryption_method.algorithm
|
33
|
+
ALGORITHMS[algorithm] ||
|
34
|
+
raise(UnsupportedError.new("Unsupported encryption method #{algorithm}"))
|
35
|
+
end
|
8
36
|
end
|
9
37
|
end
|
10
38
|
end
|
@@ -9,8 +9,15 @@ module Xmlenc
|
|
9
9
|
namespace "xenc"
|
10
10
|
|
11
11
|
attribute :algorithm, String, tag: "Algorithm"
|
12
|
+
has_one :digest_method, Xmlenc::Builder::DigestMethod
|
12
13
|
|
13
14
|
validates :algorithm, presence: true
|
15
|
+
|
16
|
+
def initialize(attributes = {})
|
17
|
+
digest_method_algorithm = attributes.delete(:digest_method_algorithm)
|
18
|
+
attributes[:digest_method] = Xmlenc::Builder::DigestMethod.new(algorithm: digest_method_algorithm)
|
19
|
+
super
|
20
|
+
end
|
14
21
|
end
|
15
22
|
end
|
16
23
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Xmlenc
|
2
|
+
module Builder
|
3
|
+
class ReferenceList
|
4
|
+
include Xmlenc::Builder::Base
|
5
|
+
|
6
|
+
tag "ReferenceList"
|
7
|
+
|
8
|
+
register_namespace "xenc", Xmlenc::NAMESPACES[:xenc]
|
9
|
+
namespace "xenc"
|
10
|
+
|
11
|
+
has_many :data_references, Xmlenc::Builder::DataReference, xpath: "./"
|
12
|
+
|
13
|
+
def add_data_reference(data_id)
|
14
|
+
self.data_references ||= []
|
15
|
+
self.data_references << DataReference.new(uri: data_id)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/xmlenc/version.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
<EncryptedData Id="ED" Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns="http://www.w3.org/2001/04/xmlenc#">
|
2
|
+
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
|
3
|
+
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
|
4
|
+
<EncryptedKey Id="EK" xmlns="http://www.w3.org/2001/04/xmlenc#">
|
5
|
+
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p">
|
6
|
+
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
|
7
|
+
</EncryptionMethod>
|
8
|
+
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
|
9
|
+
<ds:KeyName>my-rsa-key</ds:KeyName>
|
10
|
+
<ds:X509Data>
|
11
|
+
<ds:X509Certificate>
|
12
|
+
MIIDzTCCArWgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBljELMAkGA1UEBhMCVVMx
|
13
|
+
CzAJBgNVBAgTAk5ZMRIwEAYDVQQHEwlNYW5oYXR0YW4xFTATBgNVBAoTDExhdmEg
|
14
|
+
U3VwcmVtZTEUMBIGA1UECxMLSGVhZCBPZmZpY2UxFDASBgNVBAMTC1JTQSBUZXN0
|
15
|
+
IENBMSMwIQYJKoZIhvcNAQkBFhR0ZWNoQGxhdmFzdXByZW1lLm9yZzAeFw0wMjAx
|
16
|
+
MzExNjI5NDNaFw00MzAyMjUxNjI5NDNaMIGWMQswCQYDVQQGEwJVUzELMAkGA1UE
|
17
|
+
CBMCTlkxEjAQBgNVBAcTCU1hbmhhdHRhbjEVMBMGA1UEChMMTGF2YSBTdXByZW1l
|
18
|
+
MRQwEgYDVQQLEwtIZWFkIE9mZmljZTEUMBIGA1UEAxMLUlNBIFRlc3QgQ0ExIzAh
|
19
|
+
BgkqhkiG9w0BCQEWFHRlY2hAbGF2YXN1cHJlbWUub3JnMIIBIjANBgkqhkiG9w0B
|
20
|
+
AQEFAAOCAQ8AMIIBCgKCAQEAgj3TOyUtgg99oEfsm8h9JTZBxUkzYkXVUOHxIwnk
|
21
|
+
Fwp4y9ZnrGja/j+kpRyKvYP5CkNdq0e58/r7GLXj45iqd03XjsFNTdjy4OIOgf7J
|
22
|
+
xMG7z+hEB1LT2swTs10GILFWPByRl3/BEsnekLZdoqNoJrvnttVkxgu3x80Ji3/A
|
23
|
+
ZD8Ub/kBGOSPyu6pn3OdnMTc5q4r1qUe985lQzCZvCMw6AoGeCyJodNu2MbveNeH
|
24
|
+
+YPjRgLCQfzvOFRq+9qMtE8XfUJZdNhPZhgdsOGf8uJauTcIHbAyw7BhxPy6RikW
|
25
|
+
W5yiWUmBya+7t4y1TQJzham/0y0zU3TAA7b/rDrU7xmNPwIDAQABoyQwIjAPBgNV
|
26
|
+
HRMBAf8EBTADAQH/MA8GA1UdDwEB/wQFAwMHBgAwDQYJKoZIhvcNAQEEBQADggEB
|
27
|
+
ADELWZjFLPjSjGeOaeUwH/mEOP+l/nTtxe07IWAQL4kvb4wsiUsM1EkPptcBQsym
|
28
|
+
OYgFhf3Elqma84bbOyp85y/iQnjpqWWJ73TFXSWZamSIhYb4Gk+dQuwFI+zD3B2y
|
29
|
+
WwqghaAHDzxtzROLUBjo+97Y6ng6V5zjmtdGOFwNXwWhf3Y+MjnErtBIKYao8NJO
|
30
|
+
p6di80w82+s6Ot+CLVvVobLhxS/y8yWplATRiQnI5ij/WTLML+tiU5aes0c9abaf
|
31
|
+
O7i9j1iTuZsDT3f96ia0RSLsXSGij737QKc3ZM8lSxBWfepWYO+G+IRgr1q9IUDa
|
32
|
+
kKO/vB9Ay64Rt88XbLnnGns=
|
33
|
+
</ds:X509Certificate>
|
34
|
+
</ds:X509Data>
|
35
|
+
</ds:KeyInfo>
|
36
|
+
<CipherData>
|
37
|
+
<CipherValue/>
|
38
|
+
</CipherData>
|
39
|
+
<ReferenceList>
|
40
|
+
<DataReference URI="ED"/>
|
41
|
+
</ReferenceList>
|
42
|
+
</EncryptedKey>
|
43
|
+
</ds:KeyInfo>
|
44
|
+
<CipherData>
|
45
|
+
<CipherValue/>
|
46
|
+
</CipherData>
|
47
|
+
</EncryptedData>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Xmlenc::Builder::DataReference do
|
4
|
+
|
5
|
+
let(:xml) { File.read File.join("spec", "fixtures", "template2.xml") }
|
6
|
+
subject { described_class.parse(xml, single: true) }
|
7
|
+
|
8
|
+
describe "#parse" do
|
9
|
+
it "should have uri attribute" do
|
10
|
+
expect(subject.uri).to eq "ED"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Xmlenc::Builder::DigestMethod do
|
4
|
+
|
5
|
+
let(:xml) { File.read File.join("spec", "fixtures", "template2.xml") }
|
6
|
+
subject { described_class.parse(xml, single: true) }
|
7
|
+
|
8
|
+
describe "#parse" do
|
9
|
+
it "should have one algorithm" do
|
10
|
+
expect(subject.algorithm).to eq "http://www.w3.org/2000/09/xmldsig#sha1"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "raises error when no algorithm" do
|
14
|
+
subject.algorithm = nil
|
15
|
+
expect(subject).to have(1).error_on :algorithm
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -34,6 +34,14 @@ describe Xmlenc::Builder::EncryptedKey do
|
|
34
34
|
expect(subject).to be_a Xmlenc::Builder::EncryptedKey
|
35
35
|
end
|
36
36
|
|
37
|
+
it "should have a reference_list" do
|
38
|
+
expect(subject.reference_list).to be_a Xmlenc::Builder::ReferenceList
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should have a data object" do
|
42
|
+
expect(subject).to respond_to :data
|
43
|
+
end
|
44
|
+
|
37
45
|
describe "encryption method" do
|
38
46
|
it "should create an EncryptionMethod element" do
|
39
47
|
expect(subject.encryption_method).to be_a Xmlenc::Builder::EncryptionMethod
|
@@ -62,4 +70,25 @@ describe Xmlenc::Builder::EncryptedKey do
|
|
62
70
|
end
|
63
71
|
end
|
64
72
|
end
|
73
|
+
|
74
|
+
describe "#add_data_reference" do
|
75
|
+
it "has method" do
|
76
|
+
expect(subject).to respond_to :add_data_reference
|
77
|
+
end
|
78
|
+
|
79
|
+
it "has one data reference" do
|
80
|
+
expect(subject.reference_list.data_references.count).to eq 1
|
81
|
+
end
|
82
|
+
|
83
|
+
it "adds an extra data reference" do
|
84
|
+
subject.add_data_reference(SecureRandom.hex(5))
|
85
|
+
expect(subject.reference_list.data_references.count).to eq 2
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
describe "#encrypt" do
|
90
|
+
it "has method" do
|
91
|
+
expect(subject).to respond_to :encrypt
|
92
|
+
end
|
93
|
+
end
|
65
94
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Xmlenc::Builder::ReferenceList do
|
4
|
+
|
5
|
+
let(:xml) { File.read File.join("spec", "fixtures", "template2.xml") }
|
6
|
+
subject { described_class.parse(xml, single: true) }
|
7
|
+
|
8
|
+
describe "#parse" do
|
9
|
+
it "has data" do
|
10
|
+
expect(subject.data_references.first).to be_a Xmlenc::Builder::DataReference
|
11
|
+
end
|
12
|
+
|
13
|
+
it "has function" do
|
14
|
+
expect(subject).to respond_to :add_data_reference
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "#add_data_reference" do
|
19
|
+
it "adds a data reference" do
|
20
|
+
subject.add_data_reference(SecureRandom.hex(5))
|
21
|
+
expect(subject.data_references.count).to eq 2
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -105,8 +105,6 @@ describe Xmlenc::EncryptedKey do
|
|
105
105
|
encrypted_key_template.encrypt(public_key, data)
|
106
106
|
|
107
107
|
expect(encrypted_key_template.cipher_value.length).to be > 0
|
108
|
-
|
109
|
-
puts encrypted_key_template.document.to_xml
|
110
108
|
end
|
111
109
|
|
112
110
|
it 'allows decryption with the key' do
|
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xmlenc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benoist
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 3.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activemodel
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 3.0.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 3.0.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -98,14 +98,14 @@ dependencies:
|
|
98
98
|
name: rake
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - '>='
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - '>='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
description: A (partial)implementation of the XMLENC specificiation
|
@@ -129,10 +129,13 @@ files:
|
|
129
129
|
- lib/xmlenc/builder/base.rb
|
130
130
|
- lib/xmlenc/builder/cipher_data.rb
|
131
131
|
- lib/xmlenc/builder/complex_types/encrypted_type.rb
|
132
|
+
- lib/xmlenc/builder/data_reference.rb
|
133
|
+
- lib/xmlenc/builder/digest_method.rb
|
132
134
|
- lib/xmlenc/builder/encrypted_data.rb
|
133
135
|
- lib/xmlenc/builder/encrypted_key.rb
|
134
136
|
- lib/xmlenc/builder/encryption_method.rb
|
135
137
|
- lib/xmlenc/builder/key_info.rb
|
138
|
+
- lib/xmlenc/builder/reference_list.rb
|
136
139
|
- lib/xmlenc/encrypted_data.rb
|
137
140
|
- lib/xmlenc/encrypted_document.rb
|
138
141
|
- lib/xmlenc/encrypted_key.rb
|
@@ -148,6 +151,7 @@ files:
|
|
148
151
|
- spec/fixtures/phaos/payment.xml
|
149
152
|
- spec/fixtures/phaos/rsa-priv-key.pem
|
150
153
|
- spec/fixtures/template.xml
|
154
|
+
- spec/fixtures/template2.xml
|
151
155
|
- spec/lib/xmlenc/algorithms/aes_cbc_spec.rb
|
152
156
|
- spec/lib/xmlenc/algorithms/des3_cbc_spec.rb
|
153
157
|
- spec/lib/xmlenc/algorithms/rsa_15_spec.rb
|
@@ -155,10 +159,13 @@ files:
|
|
155
159
|
- spec/lib/xmlenc/builder/base_spec.rb
|
156
160
|
- spec/lib/xmlenc/builder/cipher_data_spec.rb
|
157
161
|
- spec/lib/xmlenc/builder/complex_types/encrypted_type_spec.rb
|
162
|
+
- spec/lib/xmlenc/builder/data_reference_spec.rb
|
163
|
+
- spec/lib/xmlenc/builder/digest_method_spec.rb
|
158
164
|
- spec/lib/xmlenc/builder/encrypted_data_spec.rb
|
159
165
|
- spec/lib/xmlenc/builder/encrypted_key_spec.rb
|
160
166
|
- spec/lib/xmlenc/builder/encryption_method_spec.rb
|
161
167
|
- spec/lib/xmlenc/builder/key_info_spec.rb
|
168
|
+
- spec/lib/xmlenc/builder/reference_list_spec.rb
|
162
169
|
- spec/lib/xmlenc/encrypted_data_spec.rb
|
163
170
|
- spec/lib/xmlenc/encrypted_document_spec.rb
|
164
171
|
- spec/lib/xmlenc/encrypted_key_spec.rb
|
@@ -175,17 +182,17 @@ require_paths:
|
|
175
182
|
- lib
|
176
183
|
required_ruby_version: !ruby/object:Gem::Requirement
|
177
184
|
requirements:
|
178
|
-
- -
|
185
|
+
- - '>='
|
179
186
|
- !ruby/object:Gem::Version
|
180
187
|
version: '0'
|
181
188
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
189
|
requirements:
|
183
|
-
- -
|
190
|
+
- - '>='
|
184
191
|
- !ruby/object:Gem::Version
|
185
192
|
version: '0'
|
186
193
|
requirements: []
|
187
194
|
rubyforge_project:
|
188
|
-
rubygems_version: 2.0.
|
195
|
+
rubygems_version: 2.0.3
|
189
196
|
signing_key:
|
190
197
|
specification_version: 4
|
191
198
|
summary: A (partial)implementation of the XMLENC specificiation
|
@@ -201,6 +208,7 @@ test_files:
|
|
201
208
|
- spec/fixtures/phaos/payment.xml
|
202
209
|
- spec/fixtures/phaos/rsa-priv-key.pem
|
203
210
|
- spec/fixtures/template.xml
|
211
|
+
- spec/fixtures/template2.xml
|
204
212
|
- spec/lib/xmlenc/algorithms/aes_cbc_spec.rb
|
205
213
|
- spec/lib/xmlenc/algorithms/des3_cbc_spec.rb
|
206
214
|
- spec/lib/xmlenc/algorithms/rsa_15_spec.rb
|
@@ -208,10 +216,13 @@ test_files:
|
|
208
216
|
- spec/lib/xmlenc/builder/base_spec.rb
|
209
217
|
- spec/lib/xmlenc/builder/cipher_data_spec.rb
|
210
218
|
- spec/lib/xmlenc/builder/complex_types/encrypted_type_spec.rb
|
219
|
+
- spec/lib/xmlenc/builder/data_reference_spec.rb
|
220
|
+
- spec/lib/xmlenc/builder/digest_method_spec.rb
|
211
221
|
- spec/lib/xmlenc/builder/encrypted_data_spec.rb
|
212
222
|
- spec/lib/xmlenc/builder/encrypted_key_spec.rb
|
213
223
|
- spec/lib/xmlenc/builder/encryption_method_spec.rb
|
214
224
|
- spec/lib/xmlenc/builder/key_info_spec.rb
|
225
|
+
- spec/lib/xmlenc/builder/reference_list_spec.rb
|
215
226
|
- spec/lib/xmlenc/encrypted_data_spec.rb
|
216
227
|
- spec/lib/xmlenc/encrypted_document_spec.rb
|
217
228
|
- spec/lib/xmlenc/encrypted_key_spec.rb
|