2017-09-25 142 views
0

我有一个服务帐户,我的应用程序,并在我的应用程序的工作实际上为:如何在c#应用程序中保护服务帐户?

private string SA_myapp = "[email protected]"; 
private string SA_myapp_pass = "5tr0ngP455w0rd"; 
private DirectoryEntry LDAP = new DirectoryEntry("LDAP://" + domainName, SA_myapp, SA_myapp_pass); 

它的工作很好,但我相信这不是好办法做到这一点。

如何在我的应用程序中以更安全的方式使用我的服务帐户?

PS:C#应用程序时,Windows,活动目录帐户

回答

1

您可以使用DPAPI来保护密码,并将其存储在注册表中,因此基本上是当业务负载本身首次从一个注册表中读取值键(说pass_clear),然后,当它启动时,它检查在键pass_clear的值,如果找到一个值它读取它,并通过调用

ProtectedData.Protect(pass_clear , s_aditionalEntropy, DataProtectionScope.CurrentUser); 

的加密的字节[]然后可以转化为固定它base64字符串并存储在另一个注册表项pass_secure中,然后可以由应用程序/服务在需要时使用它d将自己绑定到LDAP端口。

当前用户的数据保护范围只允许服务帐号解密密码,框架为您做密钥管理。

相关问题