|
|
|
@ -1,5 +1,11 @@ |
|
|
|
|
require 'openssl' |
|
|
|
|
|
|
|
|
|
class ::OpenSSL::PKey::PKey |
|
|
|
|
def fingerprint |
|
|
|
|
::OpenSSL::Digest::SHA256.hexdigest self.to_der |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
class ::OpenSSL::PKey::EC |
|
|
|
|
def type |
|
|
|
|
:ecc |
|
|
|
@ -17,6 +23,10 @@ class ::OpenSSL::PKey::EC |
|
|
|
|
"ECC #{self.size} bits" |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def to_h |
|
|
|
|
{ type: :ecc, curve: self.curve, size: self.size, fingerprint: self.fingerprint, states: self.states } |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
protected |
|
|
|
|
include ::CryptCheck::State |
|
|
|
|
|
|
|
|
@ -51,6 +61,10 @@ class ::OpenSSL::PKey::RSA |
|
|
|
|
"RSA #{self.size} bits" |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def to_h |
|
|
|
|
{ type: :rsa, size: self.size, fingerprint: self.fingerprint, states: self.states } |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
protected |
|
|
|
|
include ::CryptCheck::State |
|
|
|
|
|
|
|
|
@ -83,6 +97,10 @@ class ::OpenSSL::PKey::DSA |
|
|
|
|
"DSA #{self.size} bits" |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def to_h |
|
|
|
|
{ type: :dsa, size: self.size, fingerprint: self.fingerprint, states: self.states } |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
include ::CryptCheck::State |
|
|
|
|
|
|
|
|
|
CHECKS = [ |
|
|
|
@ -108,6 +126,10 @@ class ::OpenSSL::PKey::DH |
|
|
|
|
"DH #{self.size} bits" |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def to_h |
|
|
|
|
{ size: self.size, fingerprint: self.fingerprint, states: self.states } |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
protected |
|
|
|
|
include ::CryptCheck::State |
|
|
|
|
|
|
|
|
|