我正在編寫一個winforms應用程序,該應用程序在配置文件中本地存儲用戶名和密碼,以便使用該應用程序的用戶在每次登錄時都不必重新鍵入其憑據我的應用程序支持的各種服務。密碼能夠被解密是絕對必要的,所以我選擇使用ProtectedData和Protect和Unprotect方法來安全地存儲密碼。這使得將保護他們的數據的責任傳遞給Windows和最終用戶變得容易,而不必擔心密鑰和我自己。如何允許導入/導出DPAPI安全憑證
現在我想讓用戶能夠在安裝之間移動設置。一個很好的例子就是他們希望保留大量不同帳戶設置的備份,或者他們想要移動到另一臺計算機。
我算出來是這樣的:
- 用戶點擊「出口佔」按鈕
- 應用使用解密解除
- 應用程序寫入設置明文「存儲的設置備份「,然後在新帳戶中輸入並重新輸入。
這一切都聽起來不錯,直到第3步。第3步讓我感到困擾,因爲它將密碼置於純文本中。在這種情況下是否有導入/導出憑證的最佳做法,或者將其視爲「可以」,以使用戶有責任保護導出的文件?對我來說,假設用戶正確保護他們的Windows帳戶,這似乎可以假設。我甚至不曾允許他們導入/導出設置文件,但這似乎是一個很大的不便。同樣,我也可以建立一個非常罕見的邊緣案例,即有人擁有如此多的存儲帳戶,以至於在短短的十年內手動重新輸入。
如果任何有經驗的人做這樣的事情會與最佳實踐/建議合作,我會很感激。我不得不處理存儲憑證的所有複雜問題。