SQL Server 2016使用.net核心/ EF核心的ASP MVC应用程序中的列加密

SQL Server 2016使用.net核心/ EF核心的ASP MVC应用程序中的列加密

问题描述:

我试图使用SQL Server 2016中的“始终加密”功能来加密某些列。我使用this post作为指导,将列设置为在SSDT中加密。SQL Server 2016使用.net核心/ EF核心的ASP MVC应用程序中的列加密

这部分进展良好,这是当我试图从应用程序中查询数据时,我得到一个错误。根据文档,我需要添加此:

column encryption setting=enabled 

我的连接字符串。这似乎在实体框架核心中不受支持。我得到这个错误:

column encryption setting=enabled is not supported

我尝试使用SqlConnectionStringBuilder打造的字符串,以及并添加设置的能力是不存在的。它确实出现在.NET 4.6中。

那么,是否有人意识到使用Always Encrypted从.NET Core应用程序连接到SQL Server实例的方法?

始终加密是目前不支持对.NET核心

你可以找到支持的框架here

增加对.NET核心的支持是对我们的路线图的列表中,我们没有时间表它尚未

请按照this github issue更新

+0

你有这个来源吗?否则,这个答案只是意见。 – DavidG

+0

我应该在答案中提到这一点,但是,我是Always Encrypted团队的一部分:) –

+0

哈哈真棒,但扮演恶魔主张,任何人都可以这么说!链接到一些证据只是一种很好的做法,可能有github问题或路线图? – DavidG

如前所述通过MS人 - 始终是目前不支持.Net的核心加密。

  • 我们有同样的情况,最后我们不得不做出的核心Web应用程序的目标.NET完整的框架,没有其他选择。

  • 即目前不兼容netcoreapp1.1(.NETCoreApp,版本= V1.1) 兼容net452(.NETFramework,版本= v4.5.2)

  • 从论坛 - “Eventhough EF核心可以工作的AE功能,但还是基础.NET核心SQL客户端目前不为AE支持,这将是他们(MS +开源ontributors)未来的里程碑,以支持它”

请参阅此GitHub page针对此问题的任何最新更新:

+0

有同样的情况,所以我们在解决方案中创建了一个新项目。 NET46。认为这将工作,但您的MVC Web应用程序也必须以.NET46为目标。 – John81