我想知道是否有人在网络农场环境中成功地将 DPAPI 与用户存储一起使用?
因为我们的应用程序是最近从 1.1 转换为 2.0 的 ASP.NET 应用程序,所以我们使用了一个直接调用CryptUnprotect
方法的自定义包装器。但这应该与ProtectedData
2.0框架中可用的方法相同。
因为我们在网络农场环境中运行,我们不能保证进行加密的机器将是解密它的机器。(也因为机器故障不应该破坏我们的加密数据)。
因此,我们拥有的是一个服务组件,它在我们每个 web 盒子上的特定用户帐户下的服务中运行。根据建议,此用户设置为具有漫游配置文件。
我们遇到的问题是,在一台机器上加密的信息无法在另一台机器上解密,这会因 win32 错误而失败:
'密钥在指定状态下无效'。
我怀疑这是因为我犯了一个错误,让加密服务以用户身份在多台机器上运行,因此让用户同时在多台机器上登录。
如果这是问题所在,那么如何在网络场环境中将 DPAPI 与用户存储一起使用?