Commit 62f9613
Changed files (1)
lib
saml
kit
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