【发布时间】:2010-11-05 10:20:55
【问题描述】:
我需要一个用于 Web 传输的客户端-服务器加密解决方案(即客户端签名和加密,以及服务器端验证和解密)。
我正在使用 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 脚本来充当服务器,该服务器将接受 'multipart/encrypted' 和 'multipart/signed' HTTP 请求,但这似乎有点矫枉过正。
有什么建议吗?
有关我的问题的更多信息,请参阅this question。
【问题讨论】:
标签: php encryption sockets gnupg openpgp