我需要一个用于网络传输的客户端-服务器加密解决方案(即签名和加密的客户端,以及验证和解密的服务器端)。
我正在使用 HTTP,但由于共享主机限制(我的服务器是共享主机环境),SSL 不可用。寻找替代解决方案,我决定使用GnuPG的 OpenPGP 。原因之一是 PHP 通过各种 PEAR 和 PECL 模块支持它(PHP 是我打算用于我的客户端脚本和服务器脚本的语言,尽管 Perl 作为最后的手段也是可用的)。
我现在正试图决定传输数据的最佳方式。我遇到过RFC 1847,它定义了加密和签名的多部分 MIME 消息。该协议在RFC 3156中专门针对 PGP 进行了扩展。(我认为这些协议与 S/MIME 加密电子邮件协议有关)。
我的问题是:是否有任何理由遵循这些标准?就协议而言,它们看起来像是明智的解决方案,但是否有任何客户端实际使用该协议?例如,如果我向 Apache Web 服务器发出多部分/加密请求,是否有任何简单的方法来检索数据?我使用 PHP 脚本进行的测试使我认为 PHP 试图破译这样的请求是没有用的($_POST 数据似乎来自 'multipart/form-data' MIME 类型数据)。
由于我的主机将允许我打开套接字,因此我可以使用 PHP 的套接字编程 API 编写一个 PHP 脚本来充当一个接受“多部分/加密”和“多部分/签名”HTTP 请求的服务器,但是这个似乎有点矫枉过正。
有什么建议么?
有关我的问题的更多信息,请参阅此问题。