Commit 5a7e864
Changed files (1)
lib
saml
kit
cli
lib/saml/kit/cli/report.rb
@@ -10,21 +10,17 @@ module Saml
def print(shell)
shell.say_status :success, "Decoded #{document.send(:name)}"
- shell.print_table [
- ['ID', document.id],
- ['Issuer', document.issuer],
- ['Version', document.version],
- ['Issue Instant', document.issue_instant.iso8601],
- ['Type', document.send(:name)],
- ['Valid', document.valid?],
- ['Signed?', document.signed?],
- ['Trusted?', document.trusted?],
- ]
- document.errors.full_messages.each do |error|
- shell.say_status :error, error, :red
+ shell.print_table build_table_for(document)
+ shell.say ""
+ if document.signature.present? && document.signature.certificate.present?
+ shell.say(document.signature.certificate.x509.to_text)
end
shell.say ""
shell.say document.to_xml(pretty: true), :green
+ shell.say ""
+ document.errors.full_messages.each do |error|
+ shell.say_status :error, error, :red
+ end
end
private
@@ -36,6 +32,33 @@ module Saml
text
end
end
+
+ def build_table_for(document)
+ table = [
+ ['ID', document.id],
+ ['Issuer', document.issuer],
+ ['Version', document.version],
+ ['Issue Instant', document.issue_instant.iso8601],
+ ['Type', document.send(:name)],
+ ['Valid', document.valid?],
+ ['Signed?', !!document.signed?],
+ ['Trusted?', !!document.trusted?],
+ ]
+ case document
+ when Saml::Kit::AuthenticationRequest
+ table.push(['ACS', document.assertion_consumer_service_url])
+ table.push(['NameId Format', document.name_id_format])
+ end
+ if document.signature.present?
+ table.push(['Digest Value', document.signature.digest_value])
+ table.push(['Digest Method', document.signature.digest_method])
+ table.push(['Signature Value', truncate(document.signature.signature_value)])
+ table.push(['Signature Method', document.signature.signature_method])
+ table.push(['Canonicalization Method', document.signature.canonicalization_method])
+ table.push(['Certificate', document.signature.certificate.x509.to_text])
+ end
+ table
+ end
end
end
end