Class: Saml::Kit::Cli::XmlDigitalSignature

Inherits:
Thor
  • Object
show all
Defined in:
lib/saml/kit/cli/xml_digital_signature.rb

Instance Method Summary collapse

Instance Method Details

#verify(file) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/saml/kit/cli/xml_digital_signature.rb', line 7

def verify(file)
  format = options[:format]
  path = File.expand_path(file)
  say_status :status, "Attempting to read #{path}...", :yellow
  content = IO.read(path)
  document = ::Xml::Kit::Document.new(content)

  if document.valid?
    say_status :success, "#{file} is valid", :green
  else
    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