Commit 769cb0a
Changed files (2)
lib
saml
kit
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