49: def list(ca)
50: unless subjects
51: puts ca.waiting?.join("\n")
52: return nil
53: end
54:
55: signed = ca.list
56: requests = ca.waiting?
57:
58: if subjects == :all
59: hosts = [signed, requests].flatten
60: elsif subjects == :signed
61: hosts = signed.flatten
62: else
63: hosts = subjects
64: end
65:
66: hosts.uniq.sort.each do |host|
67: invalid = false
68: begin
69: ca.verify(host) unless requests.include?(host)
70: rescue Puppet::SSL::CertificateAuthority::CertificateVerificationError => details
71: invalid = details.to_s
72: end
73: if not invalid and signed.include?(host)
74: puts "+ #{host} (#{ca.fingerprint(host, @digest)})"
75: elsif invalid
76: puts "- #{host} (#{ca.fingerprint(host, @digest)}) (#{invalid})"
77: else
78: puts "#{host} (#{ca.fingerprint(host, @digest)})"
79: end
80: end
81: end