Module com.microsoft.sqlserver.jdbc
Package com.microsoft.sqlserver.jdbc
Class SQLServerVSMEnclaveProvider
java.lang.Object
com.microsoft.sqlserver.jdbc.SQLServerVSMEnclaveProvider
public class SQLServerVSMEnclaveProvider
extends java.lang.Object
Provides the implementation of the VSM Enclave Provider. The enclave provider encapsulates the client-side
implementation details of the enclave attestation protocol.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description SQLServerVSMEnclaveProvider() -
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)default java.sql.ResultSetexecuteSDPEv1(java.sql.PreparedStatement stmt, java.lang.String userSql, java.lang.String preparedTypeDefinitions)Execute sp_describe_parameter_encryptiondefault java.sql.ResultSetexecuteSDPEv2(java.sql.PreparedStatement stmt, java.lang.String userSql, java.lang.String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.BaseAttestationRequest req)Execute sp_describe_parameter_encryption for AEv2voidgetAttestationParameters(java.lang.String url)default byte[]getEnclavePackage(java.lang.String userSQL, java.util.ArrayList<byte[]> enclaveCEKs)Get the Enclave packagecom.microsoft.sqlserver.jdbc.EnclaveSessiongetEnclaveSession()voidinvalidateEnclaveSession()default voidprocessSDPEv1(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)Process result from sp_describe_parameter_encryptionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
SDPE1
static final java.lang.String SDPE1sp_describe_parameter_encryption stored procedure with 2 params- See Also:
- Constant Field Values
-
SDPE2
static final java.lang.String SDPE2sp_describe_parameter_encryption stored procedure with 3 params- See Also:
- Constant Field Values
-
-
Constructor Details
-
SQLServerVSMEnclaveProvider
public SQLServerVSMEnclaveProvider()
-
-
Method Details
-
getAttestationParameters
- Throws:
SQLServerException
-
createEnclaveSession
public 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- Throws:
SQLServerException
-
invalidateEnclaveSession
public void invalidateEnclaveSession() -
getEnclaveSession
public com.microsoft.sqlserver.jdbc.EnclaveSession getEnclaveSession() -
getEnclavePackage
default byte[] getEnclavePackage(java.lang.String userSQL, java.util.ArrayList<byte[]> enclaveCEKs) throws SQLServerExceptionGet the Enclave package- Parameters:
userSQL- user sqlenclaveCEKs- enclave CEKs- Returns:
- the enclave package
- Throws:
SQLServerException- if error
-
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.IOExceptionExecute sp_describe_parameter_encryption for AEv2- Parameters:
stmt- statementuserSql- user sqlpreparedTypeDefinitions- prepared type definitionsreq- request- Returns:
- result set
- Throws:
java.sql.SQLException- if errorjava.io.IOException- if IO exception
-
executeSDPEv1
default java.sql.ResultSet executeSDPEv1(java.sql.PreparedStatement stmt, java.lang.String userSql, java.lang.String preparedTypeDefinitions) throws java.sql.SQLExceptionExecute sp_describe_parameter_encryption- Parameters:
stmt- stmtuserSql- user sqlpreparedTypeDefinitions- prepared type definitions- Returns:
- result set
- Throws:
java.sql.SQLException- if error
-
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.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:
java.sql.SQLException- if error
-