gpt4 book ai didi

windows-services - 始终加密的功能 - 无法解密列。从 Windows 服务应用调用

转载 作者:行者123 更新时间:2023-12-05 03:08:24 25 4
gpt4 key购买 nike

.NET Framework 版本 = 4.6.2, 数据库 = SQL Server 2016

应用类型 = Windows 服务

我们正在开发 SQL 2016 数据库中的“始终加密”功能,以对某些客户数据列执行加密。我们的 Web 应用程序是在 ASP.NET MVC 体系结构中构建的,并且可以很好地使用此新功能。我们已将证书从数据库服务器复制并导入到 IIS Web 服务器。网络应用程序运行顺利。

但是当我们尝试从运行在单独服务器上的 Windows 服务应用程序访问数据库时,它会抛出以下异常。

无法解密列“ColumnX”。无法使用 key 存储提供程序解密列加密 key :“MSSQL_CERTIFICATE_STORE”。加密列加密 key 的最后 10 个字节是:'76-34-51-DA-41-8F-52-D1-A1-EE'。 key 集不存在

我们已经通过类似的步骤将相同的证书复制并导入到运行 windows 服务应用程序的服务器。

如果我在证书安装中遗漏了什么,请提出建议。我们是否需要编辑已安装证书中的某些属性?

最佳答案

Always Encrypted 功能要求想要访问数据库的用户同时拥有公钥和私钥。

根据消息 Keyset does not exist 我假设您只导入了部分 key 或仅导入了一组 key 。

编辑
您有权访问这些项目吗?%ALLUSERSPROFILE%\Microsoft\Crypto\RSA\MachineKeys或者C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys

通常是当私钥丢失或访问 MachineKey 文件夹(注册表)时存在一些权限错误。它给出了 “Keyset does not exist” 错误。

关于windows-services - 始终加密的功能 - 无法解密列。从 Windows 服务应用调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45366687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com