linuxasp.net-corecertificateazure-keyvaultalways-encrypted

MSSQL_CERTIFICATE_STORE Operation is not supported on this platform


I'm working with a .NET Core 3.1 application (C#) and facing the error message like this when I sent requests to a docker container insides ubuntu server:

"Failed to decrypt a column encryption key using key store provider: 'MSSQL_CERTIFICATE_STORE'. The last 10 bytes of the encrypted column encryption key are: 'xx-xx-xx-xx-xx-xx-xx-xx-xx-xx'.\nOperation is not supported on this platform."

According to this link (https://learn.microsoft.com/en-us/sql/connect/odbc/using-always-encrypted-with-the-odbc-driver?view=sql-server-ver15), it seems like Linux doesn't contain MSSQL_CERTIFICATE_STORE and force me to use Azure Key Vault Store.

My question is 'Is it possible to integrate MSSQL_CERTIFICATE_STORE and Linux environment without using the Azure Key Vault Store?'


Solution

  • If you want to still use Windows Certificate Store in Linux environment, we need to configure it on Windows machine, export the certificate and install it on the Linux machine. For more details, please refer to the article

    Meanwhile, for Linux client application, we can use Azure Key Vault Store with ODBC driver. Besides, if you do not want to use Azure Key Vault Store, you can use Custom store providers with ODBC driver. For more details, please refer to the document and the document