         # Next we create the underlying tcp connection to the server
         # using the net module and store it in the `@rawSocket`
         # attribute.
-        options = {
-            host: @host,
-            port: @port,
-        }
-        if Object.keys(@ssl).length > 0
-            if 'caCerts' of @ssl
-                options.ca = [ fs.readFileSync(@ssl.caCerts) ]
-                options.servername = @host
-                @rawSocket = tls.connect options
-            else
-                throw new err.RqlDriverError "SSL options provided but 'caCerts' argument missing"
+        if @ssl
+            @rawSocket = tls.connect options
         else
             @rawSocket = net.connect @port, @host
 

        @timeout = host.timeout || @DEFAULT_TIMEOUT

        # Configuration options for enabling an SSL connection
        # Currently, the only support option is '"sslCaCerts"' which
        # is needed to perform host verification and prevent Man in
        # the Middle attacks.
        @ssl = host.ssl || {}

        # The protocol allows for responses to queries on the same
        # connection to be returned interleaved. When a query is run

# networking library Node.js provides. We need it to establish an
# encrypted connection for `TcpConnection` objects
tls = require('tls')

# The [events module](http://nodejs.org/api/events.html) is a core
# Node.js module that provides the ability for objects to emit events,
