问题标签 [always-encrypted]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1559 浏览

c# - Sql 2016 Always Encrypted - 使用加密和非加密列加入操作?

如何在 Sql server 2016 中使用加密和非加密列执行联接操作。我使用 .net 框架 4.6.1。列加密设置 = 在连接字符串中启用。

代码 :

错误 :

0 投票
2 回答
1466 浏览

dapper - 如何使用带有 Dapper ORM 的 Azure Sql Always Encrypted?

是否有可能将 DapperORM 与 (Azure) SQL 2016 Always Encrypted 一起使用?是否有任何文档如何使用和最佳实践?

特别是新的参数属性输入方向和输入长度如何处理?

0 投票
2 回答
2101 浏览

sql - 如何加密列 SQL Server 2016 Always Encrypted ?-更改查询

在 SQL Server 2016 中使用“始终加密”的查询很容易加密列。但是我们有现有的表。那么如何加密现有表中的列呢?我需要它使用改变查询。

我尝试了以下查询

0 投票
1 回答
2264 浏览

sql-server - 如何从始终加密的列中选择存储过程参数的值

我已经加密了表中的一列 mob_no。加密列后,存储过程出错。

我在下面添加了sp

运行此 sp 时出现以下错误

消息 33299,列/变量“@mobNo”的加密方案不匹配。列/变量的加密方案是 (encryption_type = 'PLAINTEXT') 并且行 '9' 附近的表达式期望它是 (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'xxxx', column_encryption_key_database_name = ' mydb') (或更弱)。

0 投票
4 回答
9494 浏览

sql-server - SQL Server Always Encrypted 与 .NET Core 不兼容

我正在尝试将 SQL Server 2016 的 Always Encrypted 功能与 .NET Core 一起使用,但似乎(还)无法使用。尝试Microsoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider从 Nuget 导入时,我收到一条错误消息,指出它不兼容:

包 Microsoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider 1.0.201501028 与 netstandard1.6 (.NETStandard,Version=v1.6) 不兼容

关于如何/在哪里获得兼容版本的任何想法?

0 投票
1 回答
469 浏览

sql-server - SQL Server Always Encrypted with Access

我看到 SQL Server 2016 SP1 所有版本现在都有“始终加密”可用。环顾四周,似乎有一个新的 ODBC 驱动程序可以处理“始终加密”的数据。

根据 SQL Server 文档中有关使用加密列的警告,是否有人有使用 Microsoft Access 加密的经验?它可以与 Access 2010 一起使用,还是需要更新版本?

加密/解密是否有明显的性能影响?我读对了吗,因为连接和 where 子句需要对加密列进行额外处理,最佳实践是不使用敏感列作为键。

另外,我有一个 Access 项目——这可以在项目 (adp) 中与 Access 2010 一起使用,还是我必须更新到应用程序的 .accdb 版本?

0 投票
3 回答
2005 浏览

c# - Azure Key Vault .NET - 找不到方法

我想在我的 .NET 应用程序中使用 Always Encrypted SQL 2016 DB 和 Azure Key Vault 来存储加密密钥。到目前为止,我一直在关注这篇文章: https ://blogs.msdn.microsoft.com/sqlsecurity/2015/11/10/using-the-azure-key-vault-key-store-provider-for-always-encrypted /

但是当我到达文章中提供的这行代码时,我收到了一个异常:

例外是:

我检查了我的参考资料,一切似乎都已到位。GetToken 认证回调方法也有。

任何人都可以帮忙吗?谢谢。

0 投票
5 回答
4508 浏览

sql-server - 使用 .net Core / EF Core 在 ASP MVC 应用程序中使用 SQL Server 2016 进行列加密

我正在尝试使用 SQL Server 2016 中的“始终加密”功能来加密某些列。我使用这篇文章作为指南,将列设置为在 SSDT 中加密。

那部分很好,当我尝试从应用程序中查询数据时,我得到了一个错误。根据文档,我需要添加以下内容:

到我的连接字符串。Entity Framework Core 似乎不支持此功能。我收到此错误:

不支持列加密设置=启用

我也尝试使用SqlConnectionStringBuilder来构建字符串,但不存在添加该设置的能力。它似乎确实存在于 .NET 4.6 中。

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

0 投票
1 回答
614 浏览

sql-server - 通过过程始终加密与 2 个数据库通信

目前,我正在将我的数据库迁移到始终加密的 SQL Server 2016。我有 2 个数据库,并通过存储过程从另一个表中的一个数据库中选择数据。使用 DB2 中的存储过程从 DB1 选择或更新加密列时,出现操作数类型冲突:错误。我已经为具有相同名称和相同证书的 2 个数据库创建了列主密钥和列。

两个数据库中客户中的 SSN 列都已加密,但是当我运行它时,出现以下错误:

消息 33277,级别 16,状态 6,过程 copy_customer,第 891 行 [批处理开始行 167] 列/变量“@psSSN”的加密方案不匹配。列/变量的加密方案是 (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'TestCEK', column_encryption_key_database_name = 'CustDb2') 并且行 '940' 附近的表达式期望它是 (encryption_type = ' DETERMINISTIC',encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256',column_encryption_key_name = 'TestCEK',column_encryption_key_database_name = 'CustDb1')。

0 投票
2 回答
1956 浏览

entity-framework-6 - 使用 EF6 插入数据时出错并始终加密

我们在使用 EF6 和始终加密功能时遇到了一些问题。

我相信我们需要在 中设置一些东西DBContext,以指示如何加密或解密列,但我找不到这样做的方法。

我们已经有一个 ADO 访问层,它与加密字段完美配合。我们宁愿使用 EF 而不是 ADO。

症状是:

  1. 使用EF,我们可以查询数据。并且解密过程工作正常。
  2. 插入过程抛出以下错误:

操作数类型冲突:varchar 与使用 (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'CEK_Auto1', column_encryption_key_database_name = 'Development_v2_qa') collat​​ion_name = _SQL_Latin_1_加密的 varchar(8000) 不兼容

  1. 使用 where 子句查询,使用加密字段,会引发相同的错误。

使用的技术:

  • 带有 Poco 实体的 EF6。
  • AzureKeyVault 用于存储加密/解密主密钥。
  • 使用 SSL 证书对 KeyVault 进行身份验证
  • 连接字符串包含“列加密设置=启用;”
  • AzureSqlServer
  • FWK4.6
  • ADO

我们有一些代码可以很好地与 ADO 配合使用。它适用于每个SqlConnection