ssltool 0.0.20 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6fe5a7e781f83fb69dfd7ff57f6fafc215ca9276
4
- data.tar.gz: e6d9ebcafbab556ecd142fd878056da8c7ebc0b4
3
+ metadata.gz: c0dd22868569aad7c1549644b9856fec8eed476d
4
+ data.tar.gz: 0559e7135d9e37c86096a0580e1b41dadb443031
5
5
  SHA512:
6
- metadata.gz: 670409887283d19c580840088dc852e794787341fa93f5196f9d845ff69fa5518b0b2fa1dc81c90e770f4f119001d6c1916dc77a30bc837c50d10edcb69fba8a
7
- data.tar.gz: c8ca3931bd183f2132f1f1e7bdef8d291430429814e88710995f9bfd92c0849f4ebbdbe8e804ff3e506f5389a92c83356938261497e67310fcab689990a1833f
6
+ metadata.gz: 32eb0d9d73a97ddb6b594bbf8974c29379d8708736d0f65e4162e75ce9786b69d1fef8f3d3b8cab5326b3eeaf3c9242cf46de23ca9e4ee3a4e3297018f26e6eb
7
+ data.tar.gz: e6b9228a42b46c69cb04b7b1685b70e5c3bcf05d91a2469e3aca29d2fce4fbf7a568737854b2717b26a460dd647bb056b0958bc8fb07ce9b5b40b192eeeb6df9
@@ -4,6 +4,27 @@
4
4
  # input..: multiple certificate PEM string + garbage
5
5
  # output.: cert information
6
6
 
7
+
8
+ class String
9
+ def color(n)
10
+ return "" if empty?
11
+ color = `tput setaf #{n}` # set ansi foreground color
12
+ reset = `tput sgr0` # reset terminal colors to normal
13
+ (m = match(/\\\[\e.*?m.*\e.*?m\\\]/)) \
14
+ ? [m.pre_match.color(n), m.to_s, m.post_match.color(n)].join
15
+ : [color, self, reset].join
16
+ end
17
+ end
18
+ # 255.times { |n| puts if n % 16 == 0; print ("X%02x-" % n).color(n); }
19
+
20
+ def calc_color s
21
+ c = s.each_byte.inject(0, &:^)
22
+ c = (~c).abs if c == 0 || c == 0x10 || (c >= 0xE8 && c <= 0xEE)
23
+ c
24
+ end
25
+
26
+
27
+
7
28
  require_relative "../lib/ssltool/certificate_store"
8
29
  require_relative "../lib/ssltool/adapters/filesystem"
9
30
 
@@ -12,8 +33,9 @@ certs = SSLTool::Certificate.scan(ARGF.read)
12
33
 
13
34
  certs.each do |cert|
14
35
  trusted = store.trust?(cert)
15
- puts "---"
16
- puts cert.to_s.split(/\n/)[1, 2]
36
+ color = calc_color cert.to_s
37
+ # puts cert.to_s.split(/\n/)[1, 2].join("\n").color(color)
38
+ puts "--- #{cert.fingerprint.color(color)}"
17
39
  puts "Domains.....: #{cert.domain_names.join(', ')}" if cert.for_domain_name?
18
40
  puts "Subject.....: #{cert.subject}"
19
41
  puts "Issuer......: #{cert.issuer}"
@@ -29,7 +29,7 @@ module SSLTool
29
29
  def key(s)
30
30
  error = -> { raise KeyMalformedError, "Key appears to be malformed, or is passphrase-protected." }
31
31
  case s
32
- when /\A-----BEGIN EC PRIVATE KEY/ then OpenSSL::PKey::EC.new(s, '')
32
+ when /\A-----BEGIN EC PRIVATE KEY/ then OpenSSL::PKey::EC.new(s, '').tap{|k| k.singleton_class.class_eval{ alias_method :private?, :private_key? }}
33
33
  when /\A-----BEGIN (RSA )?PRIVATE KEY/ then OpenSSL::PKey::RSA.new(s, '')
34
34
  else error[]
35
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ssltool
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Caio Chassot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-25 00:00:00.000000000 Z
11
+ date: 2016-04-26 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Orders and completes SSL certificate trust chains, maintains an up-to-date
14
14
  pool of viable intermediates and trusted roots, and provides other tooling for dealing