/// <summary> /// Constructor /// </summary> /// <param name="enclavePackageBytes">byte package to be sent to enclave</param> /// <param name="enclaveSession"> enclave session to be used</param> internal EnclavePackage(byte[] enclavePackageBytes, SqlEnclaveSession enclaveSession) { EnclavePackageBytes = enclavePackageBytes; EnclaveSession = enclaveSession; }
/// <summary> /// Looks up and evicts an enclave session from the enclave session cache, if the provider implements session caching. /// </summary> /// <param name="serverName">The name of the SQL Server instance containing the enclave.</param> /// <param name="enclaveAttestationUrl">The endpoint of an attestation service, SqlClient contacts to attest the enclave.</param> /// <param name="enclaveSession">The session to be invalidated.</param> public abstract void InvalidateEnclaveSession(string serverName, string enclaveAttestationUrl, SqlEnclaveSession enclaveSession);
/// <summary> /// Looks up an existing enclave session information in the enclave session cache. If the enclave provider does not implement enclave session caching, this method is expected to return null. /// </summary> /// <param name="serverName">The name of the SQL Server instance containing the enclave.</param> /// <param name="attestationUrl">The endpoint of an attestation service, SqlClient contacts to attest the enclave.</param> /// <param name="sqlEnclaveSession">The requested enclave session or null if the provider does not implement session caching.</param> /// <param name="counter">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.</param> public abstract void GetEnclaveSession(string serverName, string attestationUrl, out SqlEnclaveSession sqlEnclaveSession, out long counter);
/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlColumnEncryptionEnclaveProvider.xml' path='docs/members[@name="SqlColumnEncryptionEnclaveProvider"]/GetEnclaveSession/*'/> internal abstract void GetEnclaveSession(string serverName, string attestationUrl, bool generateCustomData, out SqlEnclaveSession sqlEnclaveSession, out long counter, out byte[] customData, out int customDataLength);
/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlColumnEncryptionEnclaveProvider.xml' path='docs/members[@name="SqlColumnEncryptionEnclaveProvider"]/InvalidateEnclaveSession/*'/> internal abstract void InvalidateEnclaveSession(EnclaveSessionParameters enclaveSessionParameters, SqlEnclaveSession enclaveSession);
/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlColumnEncryptionEnclaveProvider.xml' path='docs/members[@name="SqlColumnEncryptionEnclaveProvider"]/GetEnclaveSession/*'/> internal abstract void GetEnclaveSession(EnclaveSessionParameters enclaveSessionParameters, bool generateCustomData, out SqlEnclaveSession sqlEnclaveSession, out long counter, out byte[] customData, out int customDataLength);