main
1# frozen_string_literal: true
2
3module Saml
4 module Kit
5 module Cli
6 class CertificateReport
7 HEADER = [
8 'Subject', 'Issuer', 'Serial',
9 'Not Before', 'Not After', 'Fingerprint'
10 ].freeze
11 attr_reader :certificate, :x509
12
13 def initialize(raw)
14 @certificate = ::Xml::Kit::Certificate.new(raw, use: :unknown)
15 @x509 = @certificate.x509
16 end
17
18 def print(shell)
19 shell.print_table([HEADER, body])
20 shell.say(x509.to_text, :green)
21 end
22
23 private
24
25 def fingerprint
26 certificate.fingerprint
27 end
28
29 def body
30 [
31 x509.subject, x509.issuer, x509.serial,
32 x509.not_before, x509.not_after, fingerprint
33 ]
34 end
35 end
36 end
37 end
38end