Commit 62f9613

mokha <mokha@cisco.com>
2018-02-08 22:20:47
add full report to xmldsig check.
1 parent 769cb0a
Changed files (1)
lib/saml/kit/cli/xml_digital_signature.rb
@@ -3,9 +3,11 @@ module Saml
     module Cli
       class XmlDigitalSignature < Thor
         desc "verify file", "Verify if the contents of a file has a valid signature."
+        method_option :format, default: "short", required: false, enum: ["short", "full"]
         def verify(file)
+          format = options[:format]
           path = File.expand_path(file)
-          say "Attempting to read #{path}..."
+          say_status :status, "Attempting to read #{path}...", :yellow
           content = IO.read(path)
           document = ::Xml::Kit::Document.new(content)
 
@@ -15,6 +17,13 @@ module Saml
             document.errors.full_messages.each do |error|
               say_status :error, error, :red
             end
+
+            if "full" == format
+              document.send(:invalid_signatures).each_with_index do |invalid_signature, index|
+                say "Signature: #{index}"
+                say invalid_signature.signature.to_xml(indent: 2), :red
+              end
+            end
           end
         end
       end