我们有一个采用总是加密的SQL Server 2016数据库。我们最近发布的ASP.net网站,试图从这个数据库中提取数据,并且当它我们得到这个错误:在哪里将总是加密证书放在IIS 7.5 Web服务器上?
Error: Failed to decrypt column 'EnSSd'. 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: 'B8-48-B3-62-90-0B-1D-A6-7D-80'. Certificate with thumbprint '97B0D3A64CADBE86FE23559AEE2783317655FD0F' 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
现在我们知道,这意味着该证书没有被放置在适当的在服务器上的位置。在开发过程中,我们简单地放置在证书的证书管理单元中根据个人证书存储,以及工作,但现在该网站已经公布,我们试图做同样的Web服务器上,但它不工作(我们种想通不会)。
匿名身份验证的网站上启用,匿名用户身份是IUSR。 ASP.NET模拟被禁用。
哪里是将证书正确的位置?
更新 - 我们通过将Application Pool Identity帐户更改为创建证书的帐户来实现它。这也是在将证书添加到Web服务器上的当前用户 - 个人列表时使用的帐户。我们宁可不使用这个帐户,所以再次,证书的合适位置在哪里?
嘿@RoastBeast,你到底解决这个问题,我挣扎得到这个工作我自己。我在IIS10上虽然... – AranDG