我有一個web應用程序,它使用密鑰和憑證從支付網關,數據庫提供商等外部服務調用API端點。哪裏可以保存一個Web應用程序的私鑰和憑證?
我想到這些選項保留這些值:
- 設置環境變量的應用程序開始前和加載它們的應用程序運行時。如果所需的值不可用,例如沒有設置,退出應用程序。
- 在應用程序啓動時,請求用戶(我自己或管理員)輸入憑證。如果必填字段爲空,請退出,否則請繼續加載應用程序。
- 將它們作爲普通值保存在配置文件中。這對我來說是最不可取的方式。
如果我想讓密鑰儘可能安全可靠,應使用哪些應用?
我有一個web應用程序,它使用密鑰和憑證從支付網關,數據庫提供商等外部服務調用API端點。哪裏可以保存一個Web應用程序的私鑰和憑證?
我想到這些選項保留這些值:
如果我想讓密鑰儘可能安全可靠,應使用哪些應用?
我想你應該像你說的那樣使用配置文件。也許加密它?
我會去user environment variables,因爲它是推薦google和amazon。
如果你用純文本文件存儲,請記住不要將它們保存在應用程序的源代碼樹中(如果你使用某種版本控制,最終可能會暴露給公衆)。
此外,請記住定期重新生成密鑰。
絕對使用環境變量和@old_mountain說,確保它們從未包含在你的版本控制系統中。 –
如果你有很多密鑰需要管理,環境變量會變得笨拙。混合方法適用於我:加密祕密並將它們全部置於配置中(通常爲base64)。對於它們全部使用相同的加密密鑰,並將其作爲環境變量傳遞。
所以你只需要製作一個環境變量來保護你需要的其他祕密。
這看起來對你很有用https://www.vaultproject.io/ –