2017-09-25 138 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端口。

當前用戶的數據保護範圍只允許服務帳號解密密碼,框架爲您做密鑰管理。

相關問題