-
Notifications
You must be signed in to change notification settings - Fork 423
Constructors for SQLServerColumnEncryptionAzureKeyVaultProvider
With JDBC drivers v6.2.1 and below that support Azure Key Vault in order to construct SQLServerColumnEncryptionAzureKeyVaultProvider
object, client applications needed to construct a SQLServerKeyVaultAuthenticationCallback
object by implementing SQLServerKeyVaultAuthenticationCallback
interface and provide an ExecutorService
object.
//Supported by v6.2.1 and before, and v7.0.0 (@deprecated)
public SQLServerColumnEncryptionAzureKeyVaultProvider(
SQLServerKeyVaultAuthenticationCallback authenticationCallback,
ExecutorService executorService) throws SQLServerException;
Starting with JDBC Driver v6.2.2, the driver introduced new constructor and replaced the above constructor to construct SQLServerColumnEncryptionAzureKeyVaultProvider
directly with clientID
and clientKey
, without implementing interface or providing ExecutorService
, this was meant to reduce the complexity on the user's side but also caused a breaking change in client applications.
//Supported by v6.2.2 and above
public SQLServerColumnEncryptionAzureKeyVaultProvider(
String clientId, String clientKey) throws SQLServerException;
With JDBC Driver v7.0.0, the driver supports both constructors as specified above along with a new constructor that only needs an implemented object of SQLServerKeyVaultAuthenticationCallback
interface in order to call getAccessToken()
function.
//Supported by v7.0.0 and above
public SQLServerColumnEncryptionAzureKeyVaultProvider(
SQLServerKeyVaultAuthenticationCallback authenticationCallback) throws SQLServerException;
With JDBC Driver v8.3.0, the driver introduced a new constructor that only needs the clientID
to authenticate to the Azure Key Vault using Managed Identity.
//Supported by v8.3.0 and above
public SQLServerColumnEncryptionAzureKeyVaultProvider(
String clientId) throws SQLServerException;
With JDBC Driver v9.2.0, the driver supports constructors as specified above along with a new constructor using the provided TokenCredential to authenticate to Azure Active Directory.
//Supported by v9.2.0 and above
public SQLServerColumnEncryptionAzureKeyVaultProvider(
TokenCredential tokenCredential) throws SQLServerException;
Note that the first constructor that uses ExecutorService
exists only for backwards compatibility and has been marked @deprecated. It is scheduled to be removed in a future stable release. Customers using this constructor should switch to the new constructors.