Interface ISQLServerEnclaveProvider

All Known Implementing Classes:
SQLServerAASEnclaveProvider, SQLServerVSMEnclaveProvider

public interface ISQLServerEnclaveProvider
Provides an interface to create an Enclave Session
  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.String SDPE1  
    static java.lang.String SDPE2  
  • 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
    default java.sql.ResultSet executeSDPEv1​(java.sql.PreparedStatement stmt, java.lang.String userSql, java.lang.String preparedTypeDefinitions)  
    default java.sql.ResultSet executeSDPEv2​(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 processSDPEv1​(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 Details

  • Method Details

    • getEnclavePackage

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

      default java.sql.ResultSet executeSDPEv2​(java.sql.PreparedStatement stmt, java.lang.String userSql, java.lang.String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.BaseAttestationRequest req) throws java.sql.SQLException, java.io.IOException
      Throws:
      java.sql.SQLException
      java.io.IOException
    • executeSDPEv1

      default java.sql.ResultSet executeSDPEv1​(java.sql.PreparedStatement stmt, java.lang.String userSql, java.lang.String preparedTypeDefinitions) throws java.sql.SQLException
      Throws:
      java.sql.SQLException
    • processSDPEv1

      default void processSDPEv1​(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