org.mariadb.jdbc.tls

## Interface TlsSocketPlugin

All Known Implementing Classes:
  DefaultTlsSocketPlugin

    public interface TlsSocketPlugin

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`default SSLSocket` `createSocket(Socket socket, SSLSocketFactory sslSocketFactory)` Returns a socket layered over an existing socket negotiating the use of SSL over an existing socket.
`SSLSocketFactory` `getSocketFactory(Options options)` Get socket factory.
`String` `name()` plugin name.
`String` `type()` plugin type.
`void` `verify(String host, SSLSession sslSession, Options options, long serverThreadId)` Host name verifier implementation.

### Method Detail

#### name

    String name()

plugin name.

Returns:
  plugin name. ex: Mysql native password

#### type

    String type()

plugin type.

Returns:
  plugin type

#### getSocketFactory

    SSLSocketFactory getSocketFactory(Options options)
                               throws SQLException

Get socket factory.

Parameters:
  `options` - connection string option. Non standard option are stored in `nonMappedOptions` if any specific option is needed.
Returns:
  custom SSL socket factory
Throws:
  `SQLException` - if socket factory configuration failed.

#### createSocket

    default SSLSocket createSocket(Socket socket,
                                   SSLSocketFactory sslSocketFactory)
                            throws IOException

Returns a socket layered over an existing socket negotiating the use of SSL over an existing socket.

Parameters:
  `socket` - existing socket
  `sslSocketFactory` - SSL socket factory
Returns:
  SSL socket
Throws:
  `IOException` - if any socket error occurs.

#### verify

    void verify(String host,
                SSLSession sslSession,
                Options options,
                long serverThreadId)
         throws SSLException

Host name verifier implementation.

Parameters:
  `host` - hostname
  `sslSession` - ssl session
  `options` - connection string option. Non standard option are stored in * `nonMappedOptions` if any specific option is needed.
  `serverThreadId` - current server threadId
Throws:
  `SSLException` - if verification fail