在laravel服务器中保存加密的公钥和私钥的最佳位置是什么?

时间:2020-01-16 21:00:14

标签: php laravel encryption server gnupg

环境:我有一个在带有Ubuntu 18.4仿生和Apache服务器的Amazon EC2上运行的Laravel 6.x应用程序。我有多个预定的工匠命令。他们要么生成文件,然后通过FTP将其传输到其他服务器,要么从其他服务器导入文件。这些文件必须先用PHP GNUPG加密,然后再导出到客户端的服务器,并需要从客户端的服务器下载后进行解密,以便进行进一步处理,因此,必须将公钥和私钥存储在服务器上,并且存储方式必须是以“ Ubuntu用户”身份运行的计划进程可以访问和使用它们(我假设“ Ubuntu用户”只需要对密钥文件具有读取权限,而没有其他用户的权限,因为他们没有,也不应这样做)无法访问这些文件,如果我输入错了,请纠正我)。 我的问题:我想了解有关最佳实践的信息,我应该在服务器内的哪个文件夹中以及如何(具有哪些权限)存储这些关键文件,以便确保它们的安全性,并确保所有自动化流程都能根据需要访问和使用它们。

1 个答案:

答案 0 :(得分:1)

Laravel oauth软件包Passport将它们保存在storage文件夹中。可以很好地指示Laravel开发人员的期望位置,添加storage/keys这样的子文件夹可能也是可行的。

明智的使用权限通常是使用chmod 600权限的标准。

或者Laravel环境可以保存这些键see

PASSPORT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
<private key here>
-----END RSA PRIVATE KEY-----"
相关问题