k2v-academy / K2View-Academy

Other
0 stars 0 forks source link

JDBC setup to work with sqlServer "Always encrypted" fields #1065

Closed XS98A42pYv28BebcPgmzPdKfg65UBWVwoWvDpDE closed 6 months ago

XS98A42pYv28BebcPgmzPdKfg65UBWVwoWvDpDE commented 6 months ago

Hi

In one of POT's in which we are working with sqlserver - customer has fields which defined as "always encrypted" Now if we are trying to run distinct or anything on this field via DB viewer - we are getting error such as Error: Operand type clash: nvarchar(4000) encrypted with (encryption_type = 'RANDOMIZED', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'ConfigColumnKey', column_encryption_key_database_name = 'xxxx') is incompatible with varbinary

Now we looked in specs below and it looks that we will need to configure JDBC string to use encryption and certificate Based on below spec https://learn.microsoft.com/en-us/sql/connect/jdbc/using-always-encrypted-with-the-jdbc-driver?view=sql-server-ver16 Its looks that we need to download and install policy For mssql-jdbc-X.X.X.jre7.jar or sqljdbc41.jar, the policy files can be downloaded from Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download
We are using customer k8 cloud setup for this POT - will it create any conflict?
Any defined steps to make it work?

Thanks Yevgeni