Sha256: b72b30f83319476e32e9c9913a4a626950f85cfc1939fc9c500e5b322ed5aaa7
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
require 'openssl' require 'sshkey' require 'base64' module SSHScan # All cryptography related methods. module Crypto # House methods helpful in analysing SSH public keys. class PublicKey def initialize(key_string) @key_string = key_string end def valid? SSHKey.valid_ssh_public_key?(@key_string) end def type if @key_string.start_with?("ssh-rsa") return "rsa" elsif @key_string.start_with?("ssh-dss") return "dsa" else return "unknown" end end def length SSHKey.ssh_public_key_bits(@key_string) end def fingerprint_md5 SSHKey.fingerprint(@key_string) end def fingerprint_sha1 SSHKey.sha1_fingerprint(@key_string) end def fingerprint_sha256 SSHKey.sha256_fingerprint(@key_string) end def to_hash { self.type => { "raw" => @key_string, "length" => self.length, "fingerprints" => { "md5" => self.fingerprint_md5, "sha1" => self.fingerprint_sha1, "sha256" => self.fingerprint_sha256 } } } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ssh_scan-0.0.39 | lib/ssh_scan/public_key.rb |