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
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionArrayList<byte[]>createEnclaveSession(SQLServerConnection connection, String userSql, String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.Parameter[] params, ArrayList<String> parameterNames)default ResultSetexecuteSDPEv1(PreparedStatement stmt, String userSql, String preparedTypeDefinitions)Execute sp_describe_parameter_encryptiondefault ResultSetexecuteSDPEv2(PreparedStatement stmt, String userSql, String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.BaseAttestationRequest req)Execute sp_describe_parameter_encryption for AEv2voiddefault byte[]getEnclavePackage(String userSQL, ArrayList<byte[]> enclaveCEKs)Get the Enclave packagecom.microsoft.sqlserver.jdbc.EnclaveSessionvoiddefault voidprocessSDPEv1(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
-