我有几个独立的 PHP 应用程序在几台服务器上运行。这些服务器都没有 SSL,但我可以使用 PHP 包装器来实现 SSL。我想确保服务器之间发送的所有数据都是安全的并已签名。我是否需要生成证书,或者每次发送内容时创建公钥/私钥就足够了吗?这种方法安全吗?
最佳答案
Do I need to generate an certificate or is it enough to create public/private key everytime I send something?
不要每次都生成公钥/私钥。您将如何检查谁控制了私钥?证书的要点是能够将身份绑定(bind)到公钥:检查您是否信任该证书以及您是否愿意与它所指的身份进行通信是确保通信安全的必要组成部分。
据我了解,服务器之间的通信不涉及用户交互本身。如果你控制所有的服务器,你可以给他们证书,自签名的 X.509 证书(如果你可以为所有各方安装它们:在实践中只适用于少数)或你自己的 CA(如果你有 OpenSSL,查看 CA.pl
,它有一个手册页)。
然后您可以使用 S/MIME 对您交换的内容进行签名和加密(PHP 中有为此提供的函数)。
(您也可以使用 PGP 实现相同的目标,而是使用 PGP key /证书。)
关于php - 在 Apache 中不使用 SSL 在服务器之间发送加密数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8315382/