DPAPI - 用户A创建的加密数据无法由UserB解密

时间:2017-05-18 10:59:20

标签: c# dpapi

我开发了一个控制灯光的主要应用程序。现在我想在客户端站点中部署此应用程序。我将向客户端发送一个包含加密文件(密钥)和用户名(始终是defadmin)的文件,以便首次登录到应用程序。创建了一个独立的应用程序,该应用程序使用具有当前用户范围的DPAPI生成加密的密钥文件。现在,我想在我的主应用程序中使用DPAPI实现解密代码,以验证客户端是否可以访问应用程序。我面临的问题是由我(当前用户)创建的加密密钥文件将不会被客户端解密(谁是defadmin)。我发现使用漫游用户配置文件和隔离存储的修复程序,我不太确定如何阅读MSDN文章后即可实现。此外,我阅读使用隔离用户和内部网上允许汇编,但不允许在互联网上。这是否意味着将漫游用户配置文件存储在网络中的某个位置并允许客户端访问?请提供帮助以解决此问题,如果您能提供一些示例代码段,请不胜感激。

1 个答案:

答案 0 :(得分:0)

DPAPI是基于Windows(用户或计算机级别)的加密和解密提供程序,用于在该域中安全地存储敏感信息。它的域是“本地”,绑定到单个用户配置文件(或机器实例)并且意味着共享它的数据。

如果您想在不同用户,机器之间安全地共享数据,您可能需要查看非对称加密概念(公钥加密),就像SSH,OpenPGP,S / MIME一样。