我需要一个用于Web传输的客户端 - 服务器加密解决方案(即签名和加密的客户端,以及经过验证和解密的服务器端)。
我正在使用HTTP,但由于共享托管限制(我的服务器是共享主机环境),SSL无法使用。 在研究替代解决方案时,我已经使用GnuPG决定使用OpenPGP。其中一个原因是它通过各种PEAR和PECL模块在PHP中得到支持(PHP是我打算用于两者我的客户端脚本和我的服务器脚本的语言,尽管Perl也可用作不得已)。
我现在正在尝试确定传输数据的最佳方式。我遇到了RFC 1847,它定义了加密和签名的多部分MIME邮件。该协议专门针对RFC 3156中的PGP进行了扩展。 (我认为这些协议与S / MIME加密电子邮件协议有关。)
我的问题是:有没有理由遵循这些标准?就协议而言,它们看起来像是明智的解决方案,但是有没有客户真正使用这个协议?例如,如果我向Apache Web服务器发出多部分/加密请求,是否有任何简单的方法来检索数据?我使用PHP脚本进行的测试让我觉得PHP尝试破译这些请求是没有用的($ _POST数据似乎来自'multipart / form-data'MIME类型数据)。
由于我的主机将让我打开套接字, 可以让我使用PHP的套接字编程API来编写一个PHP脚本来充当服务器接受'multipart / encrypted'和'multipart / signed'HTTP请求,但这看起来有点矫枉过正。
有什么建议吗?
有关我的问题的详情,请参阅this question。
答案 0 :(得分:1)
你是对的 - 这些协议与enrypted邮件协议有关,在你的情况下使用它有点矫枉过正,你必须使用OpenSSL php扩展。使用OpenPGP。
由于您的客户端将使用PHP编写 - 请考虑以下方案:
服务器和客户端方法是相同的: