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.ResultSet
executeSDPEv1(java.sql.PreparedStatement stmt, java.lang.String userSql, java.lang.String preparedTypeDefinitions)
Execute sp_describe_parameter_encryptiondefault java.sql.ResultSet
executeSDPEv2(java.sql.PreparedStatement stmt, java.lang.String userSql, java.lang.String preparedTypeDefinitions, com.microsoft.sqlserver.jdbc.BaseAttestationRequest req)
Execute sp_describe_parameter_encryption for AEv2void
getAttestationParameters(java.lang.String url)
default byte[]
getEnclavePackage(java.lang.String userSQL, java.util.ArrayList<byte[]> enclaveCEKs)
Get the Enclave packagecom.microsoft.sqlserver.jdbc.EnclaveSession
getEnclaveSession()
void
invalidateEnclaveSession()
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)
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
-