Entity Framework Core 支持 Always Encrypted

9

截至EF Core 2.1,SQL Server的Always Encrypted功能尚未得到支持。

我正在使用SQL Server 2016和Azure SQL,并且所有客户端都是基于Windows的。

  • 在等待该功能实现的同时,我们可以使用ADO.NET来实现吗?
  • 是否有第三方NuGet或付费组件可以实现此功能?
  • 在等待EF团队实现它的同时,如何使用.NET Core 2.1加密数据库中的几列而不自己编写算法?

1
这是一个安全问题,鼓励大家不要自己实现。投票关闭它很奇怪。 - Adam
请查看我在此处的答案:https://dev59.com/0FgR5IYBdhLWcg3wqO1W - Tim Bijnens
这个回答解决了你的问题吗?SQL Server Always Encrypted与.NET Core不兼容 - Tim Bijnens
2个回答

3

你能提供一个链接,证明这个功能在核心3.1中已经实现了吗?这样我就可以标记你的回答了。 - Adam

3
不要自己实现。我们最终创建了一个单独的Windows Classic Desktop类库项目来处理带有加密列的表的数据层。我们在该项目中使用了Dapper作为ORM,并且它支持加密列。这确实限制了我们能做的一些事情,因为我们其余的数据层是通过EF Core完成的,但它可以正常工作。
由于您正在使用Azure SQL,我建议使用Microsoft Azure Key Vault来存储列主密钥。请参阅NuGet包Microsoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider。这个NuGet包在.NET Core中也不受支持。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接