mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-02-04 09:35:37 -05:00
Enable column encryption setting (#908)
* Enable the Column Encryption advanced security connection setting and add supporting tests.
This commit is contained in:
@@ -1142,6 +1142,20 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection
|
||||
throw new ArgumentException(SR.ConnectionServiceConnStringInvalidAuthType(connectionDetails.AuthenticationType));
|
||||
}
|
||||
}
|
||||
if (!string.IsNullOrEmpty(connectionDetails.ColumnEncryptionSetting))
|
||||
{
|
||||
switch (connectionDetails.ColumnEncryptionSetting.ToUpper())
|
||||
{
|
||||
case "ENABLED":
|
||||
connectionBuilder.ColumnEncryptionSetting = SqlConnectionColumnEncryptionSetting.Enabled;
|
||||
break;
|
||||
case "DISABLED":
|
||||
connectionBuilder.ColumnEncryptionSetting = SqlConnectionColumnEncryptionSetting.Disabled;
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentException(SR.ConnectionServiceConnStringInvalidColumnEncryptionSetting(connectionDetails.ColumnEncryptionSetting));
|
||||
}
|
||||
}
|
||||
if (connectionDetails.Encrypt.HasValue)
|
||||
{
|
||||
connectionBuilder.Encrypt = connectionDetails.Encrypt.Value;
|
||||
@@ -1313,6 +1327,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection
|
||||
ConnectTimeout = builder.ConnectTimeout,
|
||||
CurrentLanguage = builder.CurrentLanguage,
|
||||
DatabaseName = builder.InitialCatalog,
|
||||
ColumnEncryptionSetting = builder.ColumnEncryptionSetting.ToString(),
|
||||
Encrypt = builder.Encrypt,
|
||||
FailoverPartner = builder.FailoverPartner,
|
||||
LoadBalanceTimeout = builder.LoadBalanceTimeout,
|
||||
|
||||
@@ -99,6 +99,22 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value that specifies that Always Encrypted functionality is enabled in a connection.
|
||||
/// </summary>
|
||||
public string ColumnEncryptionSetting
|
||||
{
|
||||
get
|
||||
{
|
||||
return GetOptionValue<string>("columnEncryptionSetting");
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
SetOptionValue("columnEncryptionSetting", value);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a Boolean value that indicates whether SQL Server uses SSL encryption for all data sent between the client and server if the server has a certificate installed.
|
||||
/// </summary>
|
||||
|
||||
@@ -22,6 +22,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
|
||||
UserName = details.UserName,
|
||||
Password = details.Password,
|
||||
AuthenticationType = details.AuthenticationType,
|
||||
ColumnEncryptionSetting = details.ColumnEncryptionSetting,
|
||||
Encrypt = details.Encrypt,
|
||||
TrustServerCertificate = details.TrustServerCertificate,
|
||||
PersistSecurityInfo = details.PersistSecurityInfo,
|
||||
|
||||
Reference in New Issue
Block a user