Module com.microsoft.sqlserver.jdbc
Package com.microsoft.sqlserver.jdbc
Class SQLServerAASEnclaveProvider
java.lang.Object
com.microsoft.sqlserver.jdbc.SQLServerAASEnclaveProvider
Provides the implementation of the AAS Enclave Provider. The enclave provider encapsulates the client-side
implementation details of the enclave attestation protocol.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionArrayList<byte[]>
createEnclaveSession(SQLServerConnection connection, String userSql, String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.Parameter[] params, ArrayList<String> parameterNames)
default ResultSet
executeSDPEv1(PreparedStatement stmt, String userSql, String preparedTypeDefinitions)
Execute sp_describe_parameter_encryptiondefault ResultSet
executeSDPEv2(PreparedStatement stmt, String userSql, String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.BaseAttestationRequest req)
Execute sp_describe_parameter_encryption for AEv2void
default byte[]
getEnclavePackage(String userSQL, ArrayList<byte[]> enclaveCEKs)
Get the Enclave packagecom.microsoft.sqlserver.jdbc.EnclaveSession
void
default void
processSDPEv1(String userSql, String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.Parameter[] params, ArrayList<String> parameterNames, SQLServerConnection connection, PreparedStatement stmt, ResultSet rs, ArrayList<byte[]> enclaveRequestedCEKs)
Process result from sp_describe_parameter_encryption
-
Field Details
-
SDPE1
sp_describe_parameter_encryption stored procedure with 2 params- See Also:
- Constant Field Values
-
SDPE2
sp_describe_parameter_encryption stored procedure with 3 params- See Also:
- Constant Field Values
-
-
Constructor Details
-
SQLServerAASEnclaveProvider
public SQLServerAASEnclaveProvider()
-
-
Method Details
-
getAttestationParameters
- Throws:
SQLServerException
-
createEnclaveSession
public ArrayList<byte[]> createEnclaveSession(SQLServerConnection connection, String userSql, String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.Parameter[] params, ArrayList<String> parameterNames) throws SQLServerException- Throws:
SQLServerException
-
invalidateEnclaveSession
public void invalidateEnclaveSession() -
getEnclaveSession
public com.microsoft.sqlserver.jdbc.EnclaveSession getEnclaveSession() -
getEnclavePackage
default byte[] getEnclavePackage(String userSQL, ArrayList<byte[]> enclaveCEKs) throws SQLServerExceptionGet the Enclave package- Parameters:
userSQL
- user sqlenclaveCEKs
- enclave CEKs- Returns:
- the enclave package
- Throws:
SQLServerException
- if error
-
executeSDPEv2
default ResultSet executeSDPEv2(PreparedStatement stmt, String userSql, String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.BaseAttestationRequest req) throws SQLException, IOExceptionExecute sp_describe_parameter_encryption for AEv2- Parameters:
stmt
- statementuserSql
- user sqlpreparedTypeDefinitions
- prepared type definitionsreq
- request- Returns:
- result set
- Throws:
SQLException
- if errorIOException
- if IO exception
-
executeSDPEv1
default ResultSet executeSDPEv1(PreparedStatement stmt, String userSql, String preparedTypeDefinitions) throws SQLExceptionExecute sp_describe_parameter_encryption- Parameters:
stmt
- stmtuserSql
- user sqlpreparedTypeDefinitions
- prepared type definitions- Returns:
- result set
- Throws:
SQLException
- if error
-
processSDPEv1
default void processSDPEv1(String userSql, String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.Parameter[] params, ArrayList<String> parameterNames, SQLServerConnection connection, PreparedStatement stmt, ResultSet rs, ArrayList<byte[]> enclaveRequestedCEKs) throws SQLExceptionProcess result from sp_describe_parameter_encryption- Parameters:
userSql
- user sqlpreparedTypeDefinitions
- prepared type definitionsparams
- paramsparameterNames
- param namesconnection
- connectionstmt
- statementrs
- result setenclaveRequestedCEKs
- enclave requested CEKs- Throws:
SQLException
- if error
-