Skip to content

Commit c5cc013

Browse files
committed
auto-detect SSL supported options
1 parent 967b459 commit c5cc013

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

lib/msf/core/opt.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,18 @@ def self.RPORT(default=nil, required=true, desc="The target port")
5050
Msf::OptPort.new(__method__.to_s, [ required, desc, default ])
5151
end
5252

53+
def self.ssl_supported_options
54+
@m ||= ['Auto', 'TLS'] + OpenSSL::SSL::SSLContext::METHODS \
55+
.select{|m| !m.to_s.include?('client') && !m.to_s.include?('server')} \
56+
.select{|m| OpenSSL::SSL::SSLContext.new(m) && true rescue false} \
57+
.map{|m| m.to_s.sub(/v/, '').sub('_', '.')}
58+
end
59+
5360
# @return [OptEnum]
5461
def self.SSLVersion
5562
Msf::OptEnum.new('SSLVersion',
5663
'Specify the version of SSL/TLS to be used (Auto, TLS and SSL23 are auto-negotiate)',
57-
enums: ['Auto', 'SSL2', 'SSL3', 'SSL23', 'TLS', 'TLS1', 'TLS1.1', 'TLS1.2']
64+
enums: self.ssl_supported_options
5865
)
5966
end
6067

0 commit comments

Comments
 (0)