SqlColumnEncryptionEnclaveProvider Class


The base class that defines the interface for enclave providers for Always Encrypted.

public ref class SqlColumnEncryptionEnclaveProvider abstract
public abstract class SqlColumnEncryptionEnclaveProvider
type SqlColumnEncryptionEnclaveProvider = class
Public MustInherit Class SqlColumnEncryptionEnclaveProvider


An enclave is a protected region of memory inside SQL Server, used for computations on encrypted columns. An enclave provider encapsulates the client-side implementation details of the enclave attestation protocol as well as the logic for creating and caching enclave sessions.



Initializes a new instance of the SqlColumnEncryptionEnclaveProvider class.


CreateEnclaveSession(Byte[], ECDiffieHellmanCng, String, String, SqlEnclaveSession, Int64)

When overridden in a derived class, performs enclave attestation, generates a symmetric key for the session, creates a an enclave session and stores the session information in the cache.


Determines whether the specified object is equal to the current object.

(Inherited from Object)

Gets the information that SqlClient subsequently uses to initiate the process of attesting the enclave and to establish a secure session with the enclave.

GetEnclaveSession(String, String, SqlEnclaveSession, Int64)

When overridden in a derived class, looks up an existing enclave session information in the enclave session cache. If the enclave provider doesn't implement enclave session caching, this method is expected to return null in the sqlEnclaveSession parameter.


Serves as the default hash function.

(Inherited from Object)

Gets the Type of the current instance.

(Inherited from Object)
InvalidateEnclaveSession(String, String, SqlEnclaveSession)

When overridden in a derived class, looks up and evicts an enclave session from the enclave session cache, if the provider implements session caching.


Creates a shallow copy of the current Object.

(Inherited from Object)

Returns a string that represents the current object.

(Inherited from Object)

Applies to