def initialize(opts={})
@ts_files = opts[:ts_files]
@cert_file = opts[:cert_file]
@key_file = opts[:key_file]
@cert_text = opts[:cert_text]
@key_text = opts[:key_text]
@key_password = opts[:key_password]
raise Stomp::Error::SSLClientParamsError if !@cert_file.nil? && @key_file.nil? && @key_text.nil?
raise Stomp::Error::SSLClientParamsError if !@cert_text.nil? && @key_file.nil? && @key_text.nil?
raise Stomp::Error::SSLClientParamsError if !@cert_text.nil? && !@cert_file.nil?
raise Stomp::Error::SSLClientParamsError if !@key_file.nil? && @cert_file.nil? && @cert_text.nil?
raise Stomp::Error::SSLClientParamsError if !@key_text.nil? && @cert_file.nil? && @cert_text.nil?
raise Stomp::Error::SSLClientParamsError if !@key_text.nil? && !@key_file.nil?
@ciphers = opts[:ciphers]
@use_ruby_ciphers = opts[:use_ruby_ciphers] ? opts[:use_ruby_ciphers] : false
if opts[:fsck]
if @cert_file
raise Stomp::Error::SSLNoCertFileError if !File::exist?(@cert_file)
raise Stomp::Error::SSLUnreadableCertFileError if !File::readable?(@cert_file)
end
if @key_file
raise Stomp::Error::SSLNoKeyFileError if !File::exist?(@key_file)
raise Stomp::Error::SSLUnreadableKeyFileError if !File::readable?(@key_file)
end
if @ts_files
tsa = @ts_files.split(",")
tsa.each do |fn|
raise Stomp::Error::SSLNoTruststoreFileError if !File::exist?(fn)
raise Stomp::Error::SSLUnreadableTruststoreFileError if !File::readable?(fn)
end
end
end
@ssl_ctxopts = opts[:ssl_ctxopts]
end