I set up a connection in DataGrip to my database table that has encrypted columns (randomized). I can query the data but the value of each encrypted column is an error message:
<failed to load>
com.microsoft.sqlserver.jdbc.SQLServerException: Failed to decrypt a column encryption key. Invalid key store provider name: AZURE_KEY_VAULT. A key store provider name must denote either a system key store provider or a registered custom key store provider. Valid system key provider names are: . Valid (currently registered) custom key store provider names are: null. Please verify key store provider information in column master key definitions in the database, and verify all custom key store providers used in your application are registered properly.
at com.microsoft.sqlserver.jdbc.SQLServerConnection.getSystemOrGlobalColumnEncryptionKeyStoreProvider(SQLServerConnection.java:1023)
at com.microsoft.sqlserver.jdbc.SQLServerSymmetricKeyCache.getKey(SQLServerSymmetricKeyCache.java:90)
at com.microsoft.sqlserver.jdbc.SQLServerSecurityUtility.decryptSymmetricKey(SQLServerSecurityUtility.java:232)
at com.microsoft.sqlserver.jdbc.SQLServerSecurityUtility.decryptWithKey(SQLServerSecurityUtility.java:278)
at com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValue(dtv.java:3739)
at com.microsoft.sqlserver.jdbc.DTV.getValue(dtv.java:247)
at com.microsoft.sqlserver.jdbc.Column.getValue(Column.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:2081)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:2067)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getString(SQLServerResultSet.java:2538)
in JdbcHelperImpl.getObject(JdbcHelperImpl.java:306)
In the Advanced tab of the connection configuration, I set the following properties:
- columnEncryptionSetting = Enabled
- enclaveAttestationProtocol = AAS
- enclaveAttestationUrl = https://{attestationService}.eus.attest.azure.net
- encrypt = true
What other settings do I need to provide?