SqlColumnEncryptionEnclaveProvider.CreateEnclaveSession Method

Definition

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.

public:
 abstract void CreateEnclaveSession(cli::array <System::Byte> ^ enclaveAttestationInfo, System::Security::Cryptography::ECDiffieHellmanCng ^ clientDiffieHellmanKey, System::String ^ attestationUrl, System::String ^ servername, [Runtime::InteropServices::Out] System::Data::SqlClient::SqlEnclaveSession ^ % sqlEnclaveSession, [Runtime::InteropServices::Out] long % counter);
public abstract void CreateEnclaveSession (byte[] enclaveAttestationInfo, System.Security.Cryptography.ECDiffieHellmanCng clientDiffieHellmanKey, string attestationUrl, string servername, out System.Data.SqlClient.SqlEnclaveSession sqlEnclaveSession, out long counter);
abstract member CreateEnclaveSession : byte[] * System.Security.Cryptography.ECDiffieHellmanCng * string * string * SqlEnclaveSession * int64 -> unit
Public MustOverride Sub CreateEnclaveSession (enclaveAttestationInfo As Byte(), clientDiffieHellmanKey As ECDiffieHellmanCng, attestationUrl As String, servername As String, ByRef sqlEnclaveSession As SqlEnclaveSession, ByRef counter As Long)

Parameters

enclaveAttestationInfo
Byte[]

The information the provider uses to attest the enclave and generate a symmetric key for the session. The format of this information is specific to the enclave attestation protocol.

clientDiffieHellmanKey
ECDiffieHellmanCng

A Diffie-Hellman algorithm object that encapsulates a client-side key pair.

attestationUrl
String

The endpoint of an attestation service for attesting the enclave.

servername
String

The name of the SQL Server instance containing the enclave.

sqlEnclaveSession
SqlEnclaveSession

The requested enclave session or null if the provider doesn't implement session caching.

counter
Int64

A counter that the enclave provider is expected to increment each time SqlClient retrieves the session from the cache. The purpose of this field is to prevent replay attacks.

Applies to