class Stomp::SSLParams

Purpose

Parameters for STOMP ssl connections.

Attributes

cert_file[RW]

The client certificate file.

ciphers[RW]

Optional list of SSL ciphers to be used. In the format documented for Ruby's OpenSSL.

ctx[RW]

Back reference to the OpenSSL::SSL::SSLContext instance, gem sets before connect

fsck[R]

Client wants file existance check now. true/value or false/nil

key_file[RW]

The client private key file.

peer_cert[RW]

The certificate of the connection peer (the server), received during the handshake.

ts_files[RW]

The trust store files. Normally the certificate of the CA that signed the server's certificate. One file name, or a CSV list of file names.

use_ruby_ciphers[R]

Abcolute command to use Ruby default ciphers

verify_result[RW]

SSL Connect Verify Result. The result of the handshake.

Public Class Methods

new(opts={}) click to toggle source
# File lib/stomp/sslparams.rb, line 31
def  initialize(opts={})

  #  Server  authentication  parameters
  @ts_files  =  opts[:ts_files]      #  A  trust  store  file,  normally  a  CA's  cert
  #  or  a  CSV  list  of  cert  file  names

  #  Client  authentication  parameters
  @cert_file  =  opts[:cert_file]                  #  Client  cert
  @key_file  =  opts[:key_file]                      #  Client  key
  #
  raise  Stomp::Error::SSLClientParamsError if @cert_file.nil?  &&  !@key_file.nil?
  raise  Stomp::Error::SSLClientParamsError if !@cert_file.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::exists?(@cert_file)
      raise  Stomp::Error::SSLUnreadableCertFileError if !File::readable?(@cert_file)
    end
    if  @key_file
      raise  Stomp::Error::SSLNoKeyFileError if !File::exists?(@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::exists?(fn)
        raise  Stomp::Error::SSLUnreadableTruststoreFileError if !File::readable?(fn)
      end
    end
  end
end