Package com.microsoft.sqlserver.jdbc

# Interface ISQLServerEnclaveProvider

All Known Implementing Classes:
  `SQLServerVSMEnclaveProvider`

    public interface ISQLServerEnclaveProvider

Provides an interface to create an Enclave Session

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`java.util.ArrayList<byte[]>` | `createEnclaveSession​(SQLServerConnection connection, java.lang.String userSql, java.lang.String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.Parameter[] params, java.util.ArrayList<java.lang.String> parameterNames)` | Creates the enclave session
`void` | `getAttestationParameters​(boolean createNewParameters, java.lang.String url)` | Returns the attestation parameters
`byte[]` | `getEnclavePackage​(java.lang.String userSQL, java.util.ArrayList<byte[]> enclaveCEKs)` |
`com.microsoft.sqlserver.jdbc.EnclaveSession` | `getEnclaveSession()` | Returns the enclave session
`void` | `invalidateEnclaveSession()` | Invalidates an enclave session

## Method Details

### getEnclavePackage

byte[] getEnclavePackage​(java.lang.String userSQL, java.util.ArrayList<byte[]> enclaveCEKs) throws SQLServerException

Throws:
  `SQLServerException`

### getAttestationParameters

void getAttestationParameters​(boolean createNewParameters, java.lang.String url) throws SQLServerException
Returns the attestation parameters

Parameters:
  `createNewParameters` - indicates whether to create new parameters
  `url` - attestation url
Throws:
  `SQLServerException` - when an error occurs.

### createEnclaveSession

java.util.ArrayList<byte[]> createEnclaveSession​(SQLServerConnection connection, java.lang.String userSql, java.lang.String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.Parameter[] params, java.util.ArrayList<java.lang.String> parameterNames) throws SQLServerException
Creates the enclave session

Parameters:
  `connection` - connection
  `userSql` - user sql
  `preparedTypeDefinitions` - preparedTypeDefinitions
  `params` - params
  `parameterNames` - parameterNames
Returns:
  list of enclave requested CEKs
Throws:
  `SQLServerException` - when an error occurs.

### invalidateEnclaveSession

void invalidateEnclaveSession()
Invalidates an enclave session

### getEnclaveSession

com.microsoft.sqlserver.jdbc.EnclaveSession getEnclaveSession()
Returns the enclave session

Returns:
  the enclave session