php - 在 Apache 中不使用 SSL 在服务器之间发送加密数据

标签 php encryption ssl theory nodes

我有几个独立的 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/

相关文章:

javax.crypto.BadPaddingException AES

android - 使用 Spongy CaSTLe 设置 SSLContext

python - 使用 psycopg2 通过 SSL 连接到 Google Cloud SQL Postgres 数据库

php - 这个 iCal 日历有什么问题?

php - 有没有一种简单的方法可以在开发时切换 PHP 版本?

ios - 如何在 Swift 中将十六进制字符串转换为 UInt8 字节数组?

php - 一个简单的 PHP 登录系统。它真的需要 SSL 证书吗?

php - 拉拉维尔 8 : Symbolic Link not appearing in public

php - 列出来自 protected 帐户的推文?

php - MySQL 和存储加密的用户数据