gpt4 book ai didi

c# - 如何将 MSSQL_CERTIFICATE_STORE 从一台机器移动到另一台机器?

转载 作者:行者123 更新时间:2023-12-04 07:16:07 30 4
gpt4 key购买 nike

我正在使用 SQL Server“始终加密”功能。
我从本地计算机打开 SSMS,创建列主 key (MyCMK1),然后创建列加密 key (MyCEK1)。
在 SSMS 上,我使用 MyCEK1 来加密 SSN User中的栏目 table 。好的。
我创建了一个 .NET 控制台应用程序 + ADO.NET 来测试 SQL Server“始终加密”功能(Column Encryption Setting=Enabled; 添加到数据库连接字符串中)。
结果很好,我得到了一个未加密的SSN来自 ADO.NET 结果。
接下来,我将控制台应用程序( MyConsoleApp.exe )移动到另一台机器上,然后运行应用程序 -> 错误:

Failed to decrypt column 'SSN'. Failed to decrypt a column encryption key using key store provider: 'MSSQL_CERTIFICATE_STORE'. The last 10 bytes of the encrypted column encryption key are:
'3B-60-3A-40-AF-16-22-6F-ED-DE'. Certificate with thumbprint
'93DE41DC5F46FE6FF1436829B9362A508BB3E920' not found in certificate store 'My' in certificate location 'CurrentUser'. Verify the certificate path in the column master key definition in the database is correct, and the certificate has been imported correctly into the certificate location/store. Parameter name: masterKeyPath


这个错误是有道理的,因为我使用 MSSQL_CERTIFICATE_STORE存储类型并且该应用程序在我的本地计算机上运行,​​因为有一个证书存储文件可以在以下位置存储主 key :
CurrentUser/my/93DE41DC5F46FE6FF1436829B9362A508BB3E920
或者
file:\\%APPDATA%\Microsoft\SystemCertificates\My\Certificates\93DE41DC5F46FE6FF1436829B9362A508BB3E920
我的问题是 :如何将存储主 key 的证书存储文件从我的本地机器移动到另一台机器?
备注:我在本地机器上打开 CertMgr/个人/证书 -> 空。

最佳答案

这一切都可以使用您的证书管理器来完成。
首先,在您想要导出证书的机器上,加载您的证书管理器 (certmgr)。在 Personal -> Certificates 下找到您的 Always Encrypted 证书,右键单击它,然后单击导出。这将打开一个导出向导,它应该是不言自明的。
接下来,在您希望导入证书的机器上,再次加载证书管理器,导航到个人 -> 证书,在空白处右键单击,然后单击导入。同样,这将打开一个向导,它应该是不言自明的。
完成这两个步骤后,它应该可以再次运行。

关于c# - 如何将 MSSQL_CERTIFICATE_STORE 从一台机器移动到另一台机器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68748534/

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