我正在尝试将 Always Encrypted 应用程序部署到 Amazon AWS。有一个 2016 RDS 数据库和一个托管 ASP.NET 4.6 应用程序的 Windows Server 2016。
在 Windows Server 上,当应用程序在网络服务或应用程序池标识下运行时,我们得到我很确定是这个确切的问题。
我们的错误:
System.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out
- 我们尝试了该帖子中的解决方案,但没有成功
- 我们尝试了这篇文章中的解决方案,但无法让 powershell 脚本返回除运行时异常之外的任何内容。我对powershell不是很熟悉,所以也许我不明白这个脚本。
- 如果我们将证书导入到 Andministrator 帐户,并使用管理员帐户运行 IIS 应用程序池,那么一切正常(不是连接问题或任何问题)
- 我们尝试将证书导入本地计算机“个人”证书并让应用程序帐户完全控制密钥
- 我们尝试将证书导入本地计算机受信任的根证书颁发机构(如 as/o post 中的建议)。
- 我们尝试使用“runas”为 DefaultAppPool 和网络服务帐户运行 certmgr,但是当提示输入密码时不知道那会是什么(空白密码不起作用)。我什至按照此处的建议查找了 DefaultAppPool 密码,根据该输出,密码为空。
到目前为止,没有任何工作(除了以管理员身份运行应用程序),我们不知道下一步该尝试什么。对于某种“Microsoft 官方部署指南”,我们已经看过了很多次,但所有这些都是关于如何让 Always Encrypted 在本地开发环境中工作的教程,而不是关于服务器部署的教程。