Skip to content

New Constructor Definition for SQLServerColumnEncryptionAzureKeyVaultProvider after 6.2.2 Release

Shawn Sun edited this page Sep 29, 2017 · 3 revisions

As of v6.2.2, the azure-keyvault-java dependency is updated to version 1.0.0. However, the new version is not compatible with the previous version (version 0.9.7) and therefore breaks the existing implementation in the driver. The new implementation in the driver requires API changes which in turn break client programs that use the Azure Key Vault feature.

Previously, in order to construct SQLServerColumnEncryptionAzureKeyVaultProvider object, client code needed to construct a SQLServerKeyVaultAuthenticationCallback object first by implementing SQLServerKeyVaultAuthenticationCallback interface (with clientID and clientKey) and also provide an ExecutorService object. By doing so, a user needed to handle the SQLServerKeyVaultAuthenticationCallback interface and take care of the ExecutorService object (e.g. shutdown) by themselves.

Now, with the new implementation, users can create SQLServerColumnEncryptionAzureKeyVaultProvider object directly with clientID and clientKey. Without implementing interface or providing ExecutorService, this reduces the complexity on the user's side.

New Constructor:

SQLServerColumnEncryptionAzureKeyVaultProvider akvProvider = new SQLServerColumnEncryptionAzureKeyVaultProvider(clientID, clientKey);
Clone this wiki locally