Package com.microsoft.sqlserver.jdbc
Class SQLServerVSMEnclaveProvider
java.lang.Object
com.microsoft.sqlserver.jdbc.SQLServerVSMEnclaveProvider
Provides the implementation of the VSM 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, SQLServerStatement statement, 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, SQLServerStatement sqlServerStatement, 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:
-
SDPE2
sp_describe_parameter_encryption stored procedure with 3 params- See Also:
-
-
Constructor Details
-
SQLServerVSMEnclaveProvider
public SQLServerVSMEnclaveProvider()
-
-
Method Details
-
getAttestationParameters
- Throws:
SQLServerException
-
createEnclaveSession
public ArrayList<byte[]> createEnclaveSession(SQLServerConnection connection, SQLServerStatement statement, 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 SQLServerException Get 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, IOException Execute 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 SQLException Execute 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, SQLServerStatement sqlServerStatement, PreparedStatement stmt, ResultSet rs, ArrayList<byte[]> enclaveRequestedCEKs) throws SQLException Process result from sp_describe_parameter_encryption- Parameters:
userSql- user sqlpreparedTypeDefinitions- prepared type definitionsparams- paramsparameterNames- param namesconnection- connectionsqlServerStatement- sqlServerStatementstmt- statementrs- result setenclaveRequestedCEKs- enclave requested CEKs- Throws:
SQLException- if error
-