在Web部署中保留私钥的位置?

时间:2015-07-30 07:43:29

标签: java security google-app-engine private-key xml-signature

我正在编写一个Web应用程序,它通过Web交换签名的xml。我的问题是在哪里安全地存储我的私钥以及如何在我的Java代码中访问它们?我正在Google应用引擎云上部署,我的应用程序可以根据服务器负载自动扩展。

这样做的行业最佳做法是什么?

1 个答案:

答案 0 :(得分:2)

从谁那里安全?国家安全局?谷歌管理员?脚本小子?

理想情况下,您购买HSM并将其存储在那里。我不知道GAE是否有HSM。 AWS确实如此,但并不便宜。

您还可以使用非常有限且锁定的API创建一个简单的服务器,并将密钥存储在其中,让服务器为您签名,而不会泄露您的密钥。

您的下一个最佳选择是将密钥存储在文件或envar中,只有用户可以读取您的应用程序正在运行的文件。