xmldsig 0.6.2 → 0.6.3

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
  SHA1:
3
- metadata.gz: ea438669a6cdd47452ce9ec1554ec4b45cbd2f99
4
- data.tar.gz: df71150ef40324eb26842dae1c3651000d7e4608
3
+ metadata.gz: ed8fb3a4e6485ddf83e241026a3847b5b2a77eec
4
+ data.tar.gz: 600207fd49308dd772ce99a861868d240d9f6848
5
5
  SHA512:
6
- metadata.gz: 08a8db423fede0282b26616d7ff75db36bfee05e00e3e9a4d9b71b56192b7f6d1a62e5a5a6234566044d1dd21bc5b8795a3e7950ca94c181a99f83bebc1152f6
7
- data.tar.gz: 7803d8c5e39bb1fb3bfb1b63ff2a5942c1f96f26a0f8e6f6f0ec47073b2538d2d8cecda8a56fb7e5ec323fd7f1da1b6c3c3bde2f555c4945ebb621f5eb7749eb
6
+ metadata.gz: 099249a39a5cd6e7cdeed766deac4c5217d32c810197b722e3bea3996fa1adc5715a78d811cb204d6afca0036e8e2a78dd252d2909b485994832e72af19816aa
7
+ data.tar.gz: f26a7d2699aa4f2cc261d06874ed4f97e38ff2cdc55a5e6d480cf71f42f8bf11004b78b19f67e78cb5228fd082a8832e1e7c052976915a0bdb73e5eec5b13fe2
@@ -1,3 +1,3 @@
1
1
  module Xmldsig
2
- VERSION = '0.6.2'
2
+ VERSION = '0.6.3'
3
3
  end
@@ -6,13 +6,13 @@ describe Xmldsig::Reference do
6
6
 
7
7
  describe "#digest_value" do
8
8
  it "returns the digest value in the xml" do
9
- reference.digest_value.should == Base64.decode64("ftoSYFdze1AWgGHF5N9i9SFKThXkqH2AdyzA3/epbJw=")
9
+ expect(reference.digest_value).to eq(Base64.decode64("ftoSYFdze1AWgGHF5N9i9SFKThXkqH2AdyzA3/epbJw="))
10
10
  end
11
11
  end
12
12
 
13
13
  describe "#document" do
14
14
  it "returns the document" do
15
- reference.document.should == document
15
+ expect(reference.document).to eq(document)
16
16
  end
17
17
  end
18
18
 
@@ -21,20 +21,22 @@ describe Xmldsig::Reference do
21
21
 
22
22
  it "sets the correct digest value" do
23
23
  reference.sign
24
- reference.digest_value.should == Base64.decode64("ftoSYFdze1AWgGHF5N9i9SFKThXkqH2AdyzA3/epbJw=")
24
+ expect(reference.digest_value).to eq(Base64.decode64("ftoSYFdze1AWgGHF5N9i9SFKThXkqH2AdyzA3/epbJw="))
25
25
  end
26
26
  end
27
27
 
28
28
  describe "#referenced_node" do
29
29
  it "returns the referenced_node by id" do
30
- reference.referenced_node.to_s.should ==
30
+ expect(reference.referenced_node.to_s).to eq(
31
31
  document.at_xpath("//*[@ID='foo']").to_s
32
+ )
32
33
  end
33
34
 
34
35
  it "returns the referenced node by parent" do
35
- reference.stub(:reference_uri).and_return("")
36
- reference.referenced_node.to_s.should ==
36
+ allow(reference).to receive(:reference_uri).and_return("")
37
+ expect(reference.referenced_node.to_s).to eq(
37
38
  document.root.to_s
39
+ )
38
40
  end
39
41
 
40
42
  it "returns the reference node when using WS-Security style id attribute" do
@@ -43,9 +45,9 @@ describe Xmldsig::Reference do
43
45
  node['wsu:Id'] = node['ID']
44
46
  node.remove_attribute('ID')
45
47
 
46
- reference.referenced_node.
47
- attribute_with_ns('Id', Xmldsig::NAMESPACES['wsu']).value.
48
- should == 'foo'
48
+ expect(reference.referenced_node.
49
+ attribute_with_ns('Id', Xmldsig::NAMESPACES['wsu']).value).
50
+ to eq('foo')
49
51
  end
50
52
 
51
53
  it "returns the reference node when using a custom id attribute" do
@@ -54,8 +56,9 @@ describe Xmldsig::Reference do
54
56
  node.set_attribute('MyID', 'foo')
55
57
  reference = Xmldsig::Reference.new(document.at_xpath('//ds:Reference', Xmldsig::NAMESPACES), 'MyID')
56
58
 
57
- reference.referenced_node.to_s.should ==
59
+ expect(reference.referenced_node.to_s).to eq(
58
60
  document.at_xpath("//*[@MyID='foo']").to_s
61
+ )
59
62
  end
60
63
 
61
64
  it "raises ReferencedNodeNotFound when the refenced node is not present" do
@@ -79,7 +82,7 @@ describe Xmldsig::Reference do
79
82
 
80
83
  describe "#reference_uri" do
81
84
  it "returns the reference uri" do
82
- reference.reference_uri.should == "#foo"
85
+ expect(reference.reference_uri).to eq("#foo")
83
86
  end
84
87
  end
85
88
 
@@ -92,11 +95,11 @@ describe Xmldsig::Reference do
92
95
  match = algorithm.match(/\d+/)[0].to_i
93
96
  case match
94
97
  when 512
95
- reference.digest_method.should == Digest::SHA512
98
+ expect(reference.digest_method).to eq(Digest::SHA512)
96
99
  when 256
97
- reference.digest_method.should == Digest::SHA256
100
+ expect(reference.digest_method).to eq(Digest::SHA256)
98
101
  when 1
99
- reference.digest_method.should == Digest::SHA1
102
+ expect(reference.digest_method).to eq(Digest::SHA1)
100
103
  end
101
104
  end
102
105
  end
@@ -105,6 +108,6 @@ describe Xmldsig::Reference do
105
108
  it 'defaults to SHA256 for invalid algorithms' do
106
109
  document = Nokogiri::XML::Document.parse(IO.read("spec/fixtures/unsigned-invalid.xml"))
107
110
  reference = Xmldsig::Reference.new(document.at_xpath('//ds:Reference', Xmldsig::NAMESPACES))
108
- reference.digest_method.should == Digest::SHA256
111
+ expect(reference.digest_method).to eq(Digest::SHA256)
109
112
  end
110
113
  end
@@ -18,27 +18,27 @@ describe Xmldsig::Signature do
18
18
  end
19
19
 
20
20
  it "sets the digest value" do
21
- signature.references.first.digest_value.should == Base64.decode64("ftoSYFdze1AWgGHF5N9i9SFKThXkqH2AdyzA3/epbJw=")
21
+ expect(signature.references.first.digest_value).to eq(Base64.decode64("ftoSYFdze1AWgGHF5N9i9SFKThXkqH2AdyzA3/epbJw="))
22
22
  end
23
23
 
24
24
  it "sets the signature value" do
25
- signature.signature_value.should == Base64.decode64("
25
+ expect(signature.signature_value).to eq(Base64.decode64("
26
26
  E3yyqsSoxRkhYEuaEtR+SLg85gU5B4a7xUXA+d2Zn6j7F6z73dOd8iYHOusB
27
27
  Ty3C/3ujbmPhHKg8uX9kUE8b+YoOqZt4z9pdxAq44nJEuijwi4doIPpHWirv
28
28
  BnSoP5IoL0DYzGVrgj8udRzfAw5nNeV7wSrBZEn+yrxmUPJoUZc=
29
- ")
29
+ "))
30
30
  end
31
31
 
32
32
  it "accepts a block" do
33
33
  signature.sign do |data, signature_algorithm|
34
- signature_algorithm.should == "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
34
+ expect(signature_algorithm).to eq("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256")
35
35
  private_key.sign(OpenSSL::Digest::SHA256.new, data)
36
36
  end
37
- signature.signature_value.should == Base64.decode64("
37
+ expect(signature.signature_value).to eq(Base64.decode64("
38
38
  E3yyqsSoxRkhYEuaEtR+SLg85gU5B4a7xUXA+d2Zn6j7F6z73dOd8iYHOusB
39
39
  Ty3C/3ujbmPhHKg8uX9kUE8b+YoOqZt4z9pdxAq44nJEuijwi4doIPpHWirv
40
40
  BnSoP5IoL0DYzGVrgj8udRzfAw5nNeV7wSrBZEn+yrxmUPJoUZc=
41
- ")
41
+ "))
42
42
  end
43
43
 
44
44
  describe "multiple references" do
@@ -46,55 +46,57 @@ describe Xmldsig::Signature do
46
46
 
47
47
  it "can sign the document" do
48
48
  signature.sign(private_key)
49
- signature.should be_valid(certificate)
49
+ expect(signature).to be_valid(certificate)
50
50
  end
51
51
 
52
52
  it "gets a digest per reference" do
53
- signature.references.count.should be == 2
53
+ expect(signature.references.count).to eq(2)
54
54
  signature.sign(private_key)
55
- signature.references[0].digest_value.should be == Base64.decode64("P1nUq8Y/LPmd+EON/mcNMNRjT78=")
56
- signature.references[1].digest_value.should be == Base64.decode64("RoGAaQeuNJuDMWcgsD7RuGbFACo=")
55
+ expect(signature.references[0].digest_value).to eq(Base64.decode64("P1nUq8Y/LPmd+EON/mcNMNRjT78="))
56
+ expect(signature.references[1].digest_value).to eq(Base64.decode64("RoGAaQeuNJuDMWcgsD7RuGbFACo="))
57
57
  end
58
58
  end
59
59
  end
60
60
 
61
61
  describe "#signed_info" do
62
62
  it "returns the canonicalized signed info element" do
63
- signature.signed_info.to_s.should ==
63
+ expect(signature.signed_info.to_s).to eq(
64
64
  document.at_xpath("//ds:SignedInfo", Xmldsig::NAMESPACES).to_s
65
+ )
65
66
  end
66
67
  end
67
68
 
68
69
  describe "#signature_value" do
69
70
  it "returns the signature value" do
70
- signature.signature_value.should ==
71
+ expect(signature.signature_value).to eq(
71
72
  Base64.decode64(document.at_xpath("//ds:SignatureValue", Xmldsig::NAMESPACES).content)
73
+ )
72
74
  end
73
75
  end
74
76
 
75
77
  describe "#valid?" do
76
78
  it "returns true with the correct certificate" do
77
- signature.valid?(certificate).should be == true
79
+ expect(signature.valid?(certificate)).to eq(true)
78
80
  end
79
81
 
80
82
  it "returns false if the xml changed" do
81
- signature.references.first.stub(:document).and_return(
83
+ allow(signature.references.first).to receive(:document).and_return(
82
84
  Nokogiri::XML::Document.parse(File.read("spec/fixtures/signed.xml").gsub("\s\s", "\s"))
83
85
  )
84
86
  signature.valid?(certificate)
85
- signature.errors.should include(:digest_value)
87
+ expect(signature.errors).to include(:digest_value)
86
88
  end
87
89
 
88
90
  it "returns false with a difference certificate" do
89
- signature.valid?(other_certificate).should be == false
91
+ expect(signature.valid?(other_certificate)).to eq(false)
90
92
  end
91
93
 
92
94
  it "accepts a block" do
93
95
  signature.valid? do |signature_value, data, signature_algorithm|
94
- signature_algorithm.should == "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
96
+ expect(signature_algorithm).to eq("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256")
95
97
  certificate.public_key.verify(OpenSSL::Digest::SHA256.new, signature_value, data)
96
98
  end
97
- signature.errors.should be_empty
99
+ expect(signature.errors).to be_empty
98
100
  end
99
101
  end
100
102
 
@@ -108,9 +110,9 @@ describe Xmldsig::Signature do
108
110
  signature.sign do |data, signature_algorithm|
109
111
  case algorithm
110
112
  when "sha1"
111
- signature_algorithm.should == "http://www.w3.org/2000/09/xmldsig#rsa-#{algorithm}"
113
+ expect(signature_algorithm).to eq("http://www.w3.org/2000/09/xmldsig#rsa-#{algorithm}")
112
114
  else
113
- signature_algorithm.should == "http://www.w3.org/2001/04/xmldsig-more#rsa-#{algorithm}"
115
+ expect(signature_algorithm).to eq("http://www.w3.org/2001/04/xmldsig-more#rsa-#{algorithm}")
114
116
  end
115
117
  private_key.sign(OpenSSL::Digest.new(algorithm).new, data)
116
118
  end
@@ -12,7 +12,7 @@ describe Xmldsig::SignedDocument do
12
12
  describe "#initialize" do
13
13
  it "sets the document to a nokogiri document" do
14
14
  document = described_class.new(signed_xml)
15
- document.document.should be_a(Nokogiri::XML::Document)
15
+ expect(document.document).to be_a(Nokogiri::XML::Document)
16
16
  end
17
17
 
18
18
  it "raises on badly formed XML" do
@@ -24,13 +24,13 @@ describe Xmldsig::SignedDocument do
24
24
  EOXML
25
25
  expect {
26
26
  described_class.new(badly_formed)
27
- }.to raise_error
27
+ }.to raise_error(Nokogiri::XML::SyntaxError)
28
28
  end
29
29
 
30
30
  it "accepts a nokogiri document" do
31
31
  doc = Nokogiri::XML(unsigned_xml)
32
32
  signed_document = described_class.new(doc)
33
- signed_document.document.should be_a(Nokogiri::XML::Document)
33
+ expect(signed_document.document).to be_a(Nokogiri::XML::Document)
34
34
  end
35
35
  end
36
36
 
@@ -39,59 +39,59 @@ describe Xmldsig::SignedDocument do
39
39
  let(:unsigned_document) { Xmldsig::SignedDocument.new(unsigned_xml) }
40
40
 
41
41
  it "returns only the signed nodes" do
42
- signed_document.signatures.should be_all { |signature| signature.is_a?(Xmldsig::Signature) }
42
+ expect(signed_document.signatures).to be_all { |signature| signature.is_a?(Xmldsig::Signature) }
43
43
  end
44
44
 
45
45
  it "returns the outer signatures first" do
46
- unsigned_document.signatures.first.references.first.reference_uri.should == '#foo'
46
+ expect(unsigned_document.signatures.first.references.first.reference_uri).to eq('#foo')
47
47
  end
48
48
  end
49
49
 
50
50
  describe "#signed_nodes" do
51
51
  it "returns only the signed nodes" do
52
- signed_document.signed_nodes.collect(&:name).should == %w(Foo)
52
+ expect(signed_document.signed_nodes.collect(&:name)).to eq(%w(Foo))
53
53
  end
54
54
  end
55
55
 
56
56
  describe "#validate" do
57
57
  it "returns true if the signature and digest value are correct" do
58
- signed_document.validate(certificate).should be == true
58
+ expect(signed_document.validate(certificate)).to eq(true)
59
59
  end
60
60
 
61
61
  it "returns false if the certificate is not valid" do
62
- signed_document.validate(other_certificate).should be == false
62
+ expect(signed_document.validate(other_certificate)).to eq(false)
63
63
  end
64
64
 
65
65
  it "returns false if there are no signatures and validation is strict" do
66
66
  xml_without_signature = Xmldsig::SignedDocument.new('<foo></foo>')
67
- xml_without_signature.validate(certificate).should be == false
67
+ expect(xml_without_signature.validate(certificate)).to eq(false)
68
68
  end
69
69
 
70
70
  it "accepts a block" do
71
- signed_document.validate do |signature_value, data|
71
+ expect(signed_document.validate do |signature_value, data|
72
72
  certificate.public_key.verify(OpenSSL::Digest::SHA256.new, signature_value, data)
73
- end.should be == true
73
+ end).to eq(true)
74
74
  end
75
75
 
76
76
  it "validates a document with a http://www.w3.org/2001/10/xml-exc-c14n#WithComments transform" do
77
77
  unsigned_xml_with_comments = File.read("spec/fixtures/signed_xml-exc-c14n#with_comments.xml")
78
78
  unsigned_documents_with_comments = Xmldsig::SignedDocument.new(unsigned_xml_with_comments)
79
79
  signed_xml_with_comments = unsigned_documents_with_comments.sign(private_key)
80
- Xmldsig::SignedDocument.new(signed_xml_with_comments).validate(certificate).should be == true
80
+ expect(Xmldsig::SignedDocument.new(signed_xml_with_comments).validate(certificate)).to eq(true)
81
81
  end
82
82
  end
83
83
 
84
84
  describe "#sign" do
85
85
  it "returns a signed document" do
86
86
  signed_document = unsigned_document.sign(private_key)
87
- Xmldsig::SignedDocument.new(signed_document).validate(certificate).should be == true
87
+ expect(Xmldsig::SignedDocument.new(signed_document).validate(certificate)).to eq(true)
88
88
  end
89
89
 
90
90
  it "accepts a block" do
91
91
  signed_document = unsigned_document.sign do |data|
92
92
  private_key.sign(OpenSSL::Digest::SHA256.new, data)
93
93
  end
94
- Xmldsig::SignedDocument.new(signed_document).validate(certificate).should be == true
94
+ expect(Xmldsig::SignedDocument.new(signed_document).validate(certificate)).to eq(true)
95
95
  end
96
96
 
97
97
  context 'with the force false' do
@@ -102,9 +102,9 @@ describe Xmldsig::SignedDocument do
102
102
  let(:signed_document) { Xmldsig::SignedDocument.new(signed_xml) }
103
103
 
104
104
  it 'only signs the root signature and leaves the nested signature intact' do
105
- signed_document.signatures.first.valid?(certificate).should be == true
106
- signed_document.signatures.last.valid?(certificate).should be == false
107
- signed_document.signatures.last.signature_value.should be == unsigned_document.signatures.last.signature_value
105
+ expect(signed_document.signatures.first.valid?(certificate)).to eq(true)
106
+ expect(signed_document.signatures.last.valid?(certificate)).to eq(false)
107
+ expect(signed_document.signatures.last.signature_value).to eq(unsigned_document.signatures.last.signature_value)
108
108
  end
109
109
  end
110
110
 
@@ -116,9 +116,9 @@ describe Xmldsig::SignedDocument do
116
116
  let(:signed_document) { Xmldsig::SignedDocument.new(signed_xml) }
117
117
 
118
118
  it 'only signs the root signature and leaves the nested signature intact' do
119
- signed_document.signatures.first.valid?(certificate).should be == true
120
- signed_document.signatures.last.valid?(certificate).should be == true
121
- signed_document.signatures.last.signature_value.should be != unsigned_document.signatures.last.signature_value
119
+ expect(signed_document.signatures.first.valid?(certificate)).to eq(true)
120
+ expect(signed_document.signatures.last.valid?(certificate)).to eq(true)
121
+ expect(signed_document.signatures.last.signature_value).to_not be(unsigned_document.signatures.last.signature_value)
122
122
  end
123
123
  end
124
124
  end
@@ -129,17 +129,17 @@ describe Xmldsig::SignedDocument do
129
129
  let(:signed_document) { unsigned_document.sign(private_key) }
130
130
 
131
131
  it "when signed should be valid" do
132
- Xmldsig::SignedDocument.new(signed_document).validate(certificate).should be == true
132
+ expect(Xmldsig::SignedDocument.new(signed_document).validate(certificate)).to eq(true)
133
133
  end
134
134
 
135
135
  it "should sign 2 elements" do
136
- unsigned_document.signed_nodes.count.should == 2
136
+ expect(unsigned_document.signed_nodes.count).to eq(2)
137
137
  end
138
138
 
139
139
  it "allows individual signs" do
140
140
  unsigned_document.signatures.last.sign(private_key)
141
- unsigned_document.validate(certificate).should be == false
142
- unsigned_document.signatures.last.valid?(certificate).should be == true
141
+ expect(unsigned_document.validate(certificate)).to eq(false)
142
+ expect(unsigned_document.signatures.last.valid?(certificate)).to eq(true)
143
143
  end
144
144
  end
145
145
 
@@ -10,9 +10,9 @@ describe Xmldsig::Transforms::EnvelopedSignature do
10
10
  described_class.new(node_with_nested_signature, nil).transform
11
11
 
12
12
  remaining_signatures = node_with_nested_signature.xpath('descendant::ds:Signature', Xmldsig::NAMESPACES)
13
- remaining_signatures.count.should == 1
13
+ expect(remaining_signatures.count).to eq(1)
14
14
  signature = Xmldsig::Signature.new(remaining_signatures.first)
15
15
 
16
- signature.references.first.reference_uri.should == '#baz'
16
+ expect(signature.references.first.reference_uri).to eq('#baz')
17
17
  end
18
18
  end
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe Xmldsig::Transforms::Transform do
4
4
 
5
5
  it "raises a warning when transform is called" do
6
- described_class.any_instance.should_receive(:warn)
6
+ expect_any_instance_of(described_class).to receive(:warn)
7
7
  described_class.new(nil,nil).transform
8
8
  end
9
9
 
@@ -12,11 +12,11 @@ describe Xmldsig do
12
12
  let(:signed_document) { unsigned_document.sign(private_key) }
13
13
 
14
14
  it "should be signable an validateable" do
15
- Xmldsig::SignedDocument.new(signed_document).validate(certificate).should be == true
15
+ expect(Xmldsig::SignedDocument.new(signed_document).validate(certificate)).to eq(true)
16
16
  end
17
17
 
18
18
  it 'should have at least 1 signature element' do
19
- Xmldsig::SignedDocument.new(signed_document).signatures.count.should >= 1
19
+ expect(Xmldsig::SignedDocument.new(signed_document).signatures.count).to be >= 1
20
20
  end
21
21
  end
22
22
  end
@@ -30,7 +30,7 @@ describe Xmldsig do
30
30
  let(:certificate) { OpenSSL::X509::Certificate.new(File.read(document.gsub('.txt', '.cert'))) }
31
31
 
32
32
  it "should be validateable" do
33
- signed_document.validate(certificate).should be == true
33
+ expect(signed_document.validate(certificate)).to eq(true)
34
34
  end
35
35
  end
36
36
  end
@@ -64,11 +64,11 @@ describe Xmldsig do
64
64
  let(:signed_document) { unsigned_document.sign(private_key) }
65
65
 
66
66
  it "should be signable an validateable" do
67
- Xmldsig::SignedDocument.new(signed_document, :id_attr => 'MyID').validate(certificate).should be == true
67
+ expect(Xmldsig::SignedDocument.new(signed_document, :id_attr => 'MyID').validate(certificate)).to eq(true)
68
68
  end
69
69
 
70
70
  it 'should have a signature element' do
71
- Xmldsig::SignedDocument.new(signed_document, :id_attr => 'MyID').signatures.count.should == 1
71
+ expect(Xmldsig::SignedDocument.new(signed_document, :id_attr => 'MyID').signatures.count).to eq(1)
72
72
  end
73
73
  end
74
74
 
@@ -77,7 +77,7 @@ describe Xmldsig do
77
77
  let(:signed_document) { Xmldsig::SignedDocument.new(signed_xml, :id_attr => 'MyID') }
78
78
 
79
79
  it "should be validateable" do
80
- signed_document.validate(certificate).should be == true
80
+ expect(signed_document.validate(certificate)).to eq(true)
81
81
  end
82
82
  end
83
83
  end
@@ -10,7 +10,6 @@ SimpleCov.start
10
10
  require 'xmldsig'
11
11
 
12
12
  RSpec.configure do |config|
13
- config.treat_symbols_as_metadata_keys_with_true_values = true
14
13
  config.run_all_when_everything_filtered = true
15
14
  config.filter_run :focus
16
15
 
@@ -16,5 +16,5 @@ Gem::Specification.new do |gem|
16
16
  gem.require_paths = ["lib"]
17
17
  gem.version = Xmldsig::VERSION
18
18
 
19
- gem.add_dependency("nokogiri", '~> 1.6.8')
19
+ gem.add_dependency("nokogiri", '>= 1.6.8', '< 2.0.0')
20
20
  end
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xmldsig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - benoist
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-05 00:00:00.000000000 Z
11
+ date: 2017-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.6.8
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 2.0.0
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 1.6.8
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 2.0.0
27
33
  description: This gem is a (partial) implementation of the XMLDsig specification
28
34
  email:
29
35
  - benoist.claassen@gmail.com