Commit 769cb0a

mokha <mokha@cisco.com>
2018-02-08 22:09:46
saml-kit xmldsig command.
1 parent d35a887
Changed files (2)
lib/saml/kit/cli/xml_digital_signature.rb
@@ -0,0 +1,23 @@
+module Saml
+  module Kit
+    module Cli
+      class XmlDigitalSignature < Thor
+        desc "verify file", "Verify if the contents of a file has a valid signature."
+        def verify(file)
+          path = File.expand_path(file)
+          say "Attempting to read #{path}..."
+          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
+          end
+        end
+      end
+    end
+  end
+end
lib/saml/kit/cli.rb
@@ -2,10 +2,11 @@ require "saml/kit"
 require "thor"
 require "yaml/store"
 
-require "saml/kit/cli/decode"
 require "saml/kit/cli/certificate"
+require "saml/kit/cli/decode"
 require "saml/kit/cli/metadata"
 require "saml/kit/cli/version"
+require "saml/kit/cli/xml_digital_signature"
 require "saml/kit/cli/yaml_registry"
 
 module Saml
@@ -20,6 +21,9 @@ module Saml
 
         desc "metadata SUBCOMMAND ...ARGS", "Work with SAML Metadata."
         subcommand "metadata", Metadata
+
+        desc "xmldsig SUBCOMMAND ...ARGS", "Check XML digital signatures."
+        subcommand "xmldsig", XmlDigitalSignature
       end
     end
   end