Package com.microsoft.sqlserver.jdbc

## Interface ISQLServerEnclaveProvider

All Known Implementing Classes:
  `SQLServerAASEnclaveProvider`, `SQLServerVSMEnclaveProvider`

    public interface ISQLServerEnclaveProvider

Provides an interface to create an Enclave Session

### Field Summary

Fields
`static java.lang.String` `proc`

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`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
`default java.sql.ResultSet` `executeProc​(java.sql.PreparedStatement stmt, java.lang.String userSql, java.lang.String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.BaseAttestationRequest req)`
`void` `getAttestationParameters​(java.lang.String url)` Returns the attestation parameters
`default 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
`default void` `processAev1SPDE​(java.lang.String userSql, java.lang.String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.Parameter[] params, java.util.ArrayList<java.lang.String> parameterNames, SQLServerConnection connection, java.sql.PreparedStatement stmt, java.sql.ResultSet rs, java.util.ArrayList<byte[]> enclaveRequestedCEKs)`

### Field Detail

#### proc

    static final java.lang.String proc

See Also:
  Constant Field Values

### Method Detail

#### getEnclavePackage

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

Throws:
  `SQLServerException`

#### executeProc

    default java.sql.ResultSet executeProc​(java.sql.PreparedStatement stmt,
                                           java.lang.String userSql,
                                           java.lang.String preparedTypeDefinitions,
                                           com.microsoft.sqlserver.jdbc.BaseAttestationRequest req)
                                    throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### processAev1SPDE

    default void processAev1SPDE​(java.lang.String userSql,
                                 java.lang.String preparedTypeDefinitions,
                                 com.microsoft.sqlserver.jdbc.Parameter[] params,
                                 java.util.ArrayList<java.lang.String> parameterNames,
                                 SQLServerConnection connection,
                                 java.sql.PreparedStatement stmt,
                                 java.sql.ResultSet rs,
                                 java.util.ArrayList<byte[]> enclaveRequestedCEKs)
                          throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### getAttestationParameters

    void getAttestationParameters​(java.lang.String url)
                           throws SQLServerException

Returns the attestation parameters

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