spec/signer_spec.rb in signer-1.7.0 vs spec/signer_spec.rb in signer-1.8.0
- old
+ new
@@ -25,11 +25,11 @@
# File.open(File.join(File.dirname(__FILE__), 'fixtures', 'output_1.xml'), "w") do |f|
# f.write signer.document.to_s
# end
output_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'output_1.xml')
- signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(:save_with => 0)
+ signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(save_with: 0)
end
it "should correctly canonicalize digested nodes (shouldn't account comments)" do
input_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'input_3_c14n_comments.xml')
cert_file = File.join(File.dirname(__FILE__), 'fixtures', 'cert.pem')
@@ -42,11 +42,11 @@
signer.digest!(signer.document.at_xpath('//soap:Body', { 'soap' => 'http://www.w3.org/2003/05/soap-envelope'}))
signer.sign!
output_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'output_3_c14n_comments.xml')
- signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(:save_with => 0)
+ signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(save_with: 0)
end
it "should digest and sign SOAP XML with SHA256" do
input_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'input_1.xml')
cert_file = File.join(File.dirname(__FILE__), 'fixtures', 'cert.pem')
@@ -63,11 +63,11 @@
signer.sign!
output_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'output_1_sha256.xml')
- signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(:save_with => 0)
+ signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(save_with: 0)
end
it "should digest and sign SOAP XML with inclusive namespaces" do
input_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'input_1.xml')
cert_file = File.join(File.dirname(__FILE__), 'fixtures', 'cert.pem')
@@ -83,11 +83,11 @@
signer.sign!(security_token: true, inclusive_namespaces: ['s'])
output_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'output_1_inclusive_namespaces.xml')
- signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(:save_with => 0)
+ signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(save_with: 0)
end
it "should sign simple XML" do
input_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'input_2.xml')
cert_file = File.join(File.dirname(__FILE__), 'fixtures', 'cert.pem')
@@ -96,19 +96,19 @@
signer = Signer.new(File.read(input_xml_file))
signer.cert = OpenSSL::X509::Certificate.new(File.read(cert_file))
signer.private_key = OpenSSL::PKey::RSA.new(File.read(private_key_file), "test")
signer.security_node = signer.document.root
signer.security_token_id = ""
- signer.digest!(signer.document.root, :id => "", :enveloped => true)
+ signer.digest!(signer.document.root, id: "", enveloped: true)
signer.sign!(:issuer_serial => true)
# File.open(File.join(File.dirname(__FILE__), 'fixtures', 'output_2.xml'), "w") do |f|
# f.write signer.document.to_s
# end
output_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'output_2.xml')
- signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(:save_with => 0)
+ signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(save_with: 0)
end
it "should digest and sign SOAP XML with security node and digested binary token" do
input_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'input_4_with_nested_signatures.xml')
@@ -135,11 +135,11 @@
# File.open(File.join(File.dirname(__FILE__), 'fixtures', 'output_4_with_nested_signatures.xml'), "w") do |f|
# f.write signer.document.to_s
# end
output_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'output_4_with_nested_signatures.xml')
- signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(:save_with => 0)
+ signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(save_with: 0)
end
it "should sign simple XML with custom DS namespace prefix" do
input_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'input_2.xml')
cert_file = File.join(File.dirname(__FILE__), 'fixtures', 'cert.pem')
@@ -150,21 +150,39 @@
signer.private_key = OpenSSL::PKey::RSA.new(File.read(private_key_file), "test")
signer.security_node = signer.document.root
signer.security_token_id = ""
signer.ds_namespace_prefix = 'ds'
- signer.digest!(signer.document.root, :id => "", :enveloped => true)
- signer.sign!(:issuer_serial => true)
+ signer.digest!(signer.document.root, id: "", enveloped: true)
+ signer.sign!(issuer_serial: true)
# File.open(File.join(File.dirname(__FILE__), 'fixtures', 'output_2_with_ds_prefix.xml'), "w") do |f|
# f.write signer.document.to_s
# end
output_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'output_2_with_ds_prefix.xml')
- signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(:save_with => 0)
+ signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(save_with: 0)
end
+ it "should digest simple XML without transforms node" do
+ input_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'input_2.xml')
+ cert_file = File.join(File.dirname(__FILE__), 'fixtures', 'cert.pem')
+ private_key_file = File.join(File.dirname(__FILE__), 'fixtures', 'key.pem')
+
+ signer = Signer.new(File.read(input_xml_file))
+ signer.cert = OpenSSL::X509::Certificate.new(File.read(cert_file))
+ signer.private_key = OpenSSL::PKey::RSA.new(File.read(private_key_file), "test")
+ signer.security_node = signer.document.root
+ signer.security_token_id = ""
+ signer.ds_namespace_prefix = 'ds'
+
+ signer.digest!(signer.document.root, id: "", no_transform: true)
+ signer.sign!(issuer_serial: true)
+
+ expect(signer.document.at_xpath('//ds:Transforms', ds: Signer::DS_NAMESPACE)).to be_nil
+ end
+
it "should partially sign element and simple XML with custom DS namespace prefix when wss is false" do
input_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'input_2.xml')
cert_file = File.join(File.dirname(__FILE__), 'fixtures', 'cert.pem')
private_key_file = File.join(File.dirname(__FILE__), 'fixtures', 'key.pem')
@@ -174,16 +192,16 @@
signer.security_node = signer.document.root
signer.security_token_id = ""
signer.ds_namespace_prefix = 'ds'
# partially sign element
- signer.digest!(signer.document.root.children.first, :enveloped => true)
+ signer.digest!(signer.document.root.children.first, enveloped: true)
- signer.digest!(signer.document.root, :id => "", :enveloped => true)
- signer.sign!(:issuer_serial => true)
+ signer.digest!(signer.document.root, id: "", enveloped: true)
+ signer.sign!(issuer_serial: true)
- # File.open(File.join(File.dirname(__FILE__), 'fixtures', 'output_2_with_ds_prefix.xml'), "w") do |f|
+ # File.open(File.join(File.dirname(__FILE__), 'fixtures', 'output_2_with_ds_prefix_and_wss_disabled.xml'), "w") do |f|
# f.write signer.document.to_s
# end
output_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'output_2_with_ds_prefix_and_wss_disabled.xml')
signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(:save_with => 0)
@@ -213,11 +231,11 @@
output_xml_file = File.join(File.dirname(__FILE__),
'fixtures',
'output_4_with_nested_signatures_with_noblanks_disabled.xml')
- signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file)).to_xml(:save_with => 0)
+ signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file)).to_xml(save_with: 0)
end
it "should digest and sign SOAP XML with X509Data inside SecurityTokenReference node" do
input_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'input_5.xml')
cert_file = File.join(File.dirname(__FILE__), 'fixtures', 'cert.pem')
@@ -235,11 +253,11 @@
output_xml_file = File.join(File.dirname(__FILE__),
'fixtures',
'output_5_with_security_token.xml')
- signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(:save_with => 0)
+ signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(save_with: 0)
end
it "should digest and sign SOAP XML with X509Data" do
input_xml_file = File.join(File.dirname(__FILE__), 'fixtures', 'input_5.xml')
cert_file = File.join(File.dirname(__FILE__), 'fixtures', 'cert.pem')
@@ -257,8 +275,8 @@
output_xml_file = File.join(File.dirname(__FILE__),
'fixtures',
'output_5_with_x509_data.xml')
- signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(:save_with => 0)
+ signer.to_xml.should == Nokogiri::XML(File.read(output_xml_file), &:noblanks).to_xml(save_with: 0)
end
end