3

我想在我的 .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 /

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

SqlColumnEncryptionAzureKeyVaultProvider azureKeyVaultProvider =
new SqlColumnEncryptionAzureKeyVaultProvider(GetToken);

例外是:

Additional information: Method not found: 'Void Microsoft.Azure.KeyVault.KeyVaultClient..ctor(AuthenticationCallback)'.

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

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

4

3 回答 3

4

最新的 Microsoft.Azure.KeyVault nuget 包似乎存在问题。Microsoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider 包依赖于 Microsoft.Azure.KeyVault v 1.0.0,如果您安装最新版本 (v 2.0.6),它会阻止 SqlColumnEncryptionAzureKeyVaultProvider。将 Microsoft.Azure.KeyVault 包降级到 v 1.0.0,你会没事的......

于 2016-12-14T19:07:34.430 回答
2

这是 aspnet/Configuration 的一个已知问题。见https://github.com/aspnet/Configuration/issues/569

于 2016-12-23T06:07:11.207 回答
0

请使用nuget 包的2.0.20170208或更高版本,这应该可以解决您的问题。

于 2017-02-07T01:34:34.023 回答