Start adding sslscan results object
Building out the result object for the SSlScanbug/bundler_fix
parent
ebd03ccceb
commit
7036365e04
|
@ -0,0 +1,37 @@
|
||||||
|
|
||||||
|
require 'rex/socket'
|
||||||
|
|
||||||
|
module Rex::SSLScan
|
||||||
|
class Result
|
||||||
|
|
||||||
|
attr_accessor :sslv2
|
||||||
|
attr_accessor :sslv3
|
||||||
|
attr_accessor :tlsv1
|
||||||
|
|
||||||
|
attr_reader :supported_versions
|
||||||
|
|
||||||
|
def initialize()
|
||||||
|
@cert = nil
|
||||||
|
@sslv2 = {}
|
||||||
|
@sslv3 = {}
|
||||||
|
@tlsv1 = {}
|
||||||
|
@supported_versions = [:sslv2, :sslv3, :tlsv1]
|
||||||
|
end
|
||||||
|
|
||||||
|
def cert
|
||||||
|
@cert
|
||||||
|
end
|
||||||
|
|
||||||
|
def cert=(input)
|
||||||
|
unless input.kind_of? OpenSSL::X509::Certificate or input.nil?
|
||||||
|
raise ArgumentError, "Must be an X509 Cert!"
|
||||||
|
end
|
||||||
|
@cert = input
|
||||||
|
end
|
||||||
|
|
||||||
|
def add_cipher(version, cipher, key_length, status)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,60 @@
|
||||||
|
require 'rex/sslscan/result'
|
||||||
|
|
||||||
|
describe Rex::SSLScan::Result do
|
||||||
|
|
||||||
|
subject{Rex::SSLScan::Result.new}
|
||||||
|
|
||||||
|
it "should respond to cert" do
|
||||||
|
subject.should respond_to :cert
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should respond to sslv2" do
|
||||||
|
subject.should respond_to :sslv2
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should respond to sslv3" do
|
||||||
|
subject.should respond_to :sslv3
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should respond to tlsv1" do
|
||||||
|
subject.should respond_to :tlsv1
|
||||||
|
end
|
||||||
|
|
||||||
|
context "with no values set" do
|
||||||
|
it "should return nil for the cert" do
|
||||||
|
subject.cert.should == nil
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should return an empty hash for sslv2" do
|
||||||
|
subject.sslv2.should == {}
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should return an empty hash for sslv3" do
|
||||||
|
subject.sslv3.should == {}
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should return an empty hash for tlsv1" do
|
||||||
|
subject.tlsv1.should == {}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "setting the cert" do
|
||||||
|
it "should accept nil" do
|
||||||
|
subject.cert = nil
|
||||||
|
subject.cert.should == nil
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should accept an X509 cert" do
|
||||||
|
cert = OpenSSL::X509::Certificate.new
|
||||||
|
subject.cert = cert
|
||||||
|
subject.cert.should == cert
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should raise an exception for anything else" do
|
||||||
|
expect{subject.cert = "foo"}.to raise_error
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end
|
Loading…
Reference in New Issue