在我的Web應用程序中,我訪問存儲在Java KeyStore中的私鑰。我想知道什麼是最好/推薦的方式來存儲KeyStore和私鑰的密碼。如何存儲Java KeyStore密碼?
我已經考慮過使用屬性文件,但在生產環境(在純文本文件中存儲密碼)中使用它看起來不太安全。另外,在我的代碼中對密碼進行硬編碼並不是我願意接受的選項。
謝謝。
在我的Web應用程序中,我訪問存儲在Java KeyStore中的私鑰。我想知道什麼是最好/推薦的方式來存儲KeyStore和私鑰的密碼。如何存儲Java KeyStore密碼?
我已經考慮過使用屬性文件,但在生產環境(在純文本文件中存儲密碼)中使用它看起來不太安全。另外,在我的代碼中對密碼進行硬編碼並不是我願意接受的選項。
謝謝。
您可以使用屬性文件,因爲您提到只是散列密碼以獲得額外的安全性salt hash密碼。這就解決了必須以純文本保存密碼的問題。然後你可以使用MD5或SHA1密碼來散列它,個人選擇。
這是一個棘手的引導問題。一些選項:
讓你的應用程序提示用戶解鎖密鑰庫(不是很友好,但有可能)
如果你散列密碼,你將如何檢索密碼?散列密碼是沒有意義的。 – 2011-03-16 13:01:50
你不檢索它,你再次散列它,並檢查它們是否相同。例如,如果我有你的用戶名的散列:d3a03c197da2c09307f06f8513443599 然後在應用程序中,你會散列用戶放入什麼,所以你的用戶名,看看是否是相同的。 – Dean 2011-03-16 19:19:00
我必須同意Καrτhικ,您將無法使用其密碼的散列打開密鑰存儲區。使用密碼散列保護密鑰存儲不會增加任何額外的安全性。 – nihilist84 2015-06-11 09:22:07