繁体   English   中英

使用RFC 1847加密和签名的MIME消息

[英]Encrypted and signed MIME messages using RFC 1847

我需要用于网络传输的客户端服务器加密解决方案(即,经过签名和加密的客户端,以及经过验证和解密的服务器端)。

我正在使用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请求的服务器,但是这似乎太过分了。

有什么建议么?

有关我的问题的更多信息,请参见此问题

您是对的-这些协议与加密邮件协议有关,在您的情况下使用该协议会有些过大,您必须使用OpenSSL php扩展名。 使用OpenPGP。

由于您的客户端将使用PHP编写-请考虑以下情形:

方案1:创建简单的SOAP Web服务

服务器和客户端方法将相同:

  • getPublicKey()-返回公钥
  • sendMessage(msg)-返回答案

方案2:使用GET / POST消息

  • 客户端-> HTTP GET(向我发送您的公钥)->服务器
  • 客户端<-(我的公钥是xxxx)<-服务器
  • 客户端使用服务器的公钥加密消息客户端向消息添加自己的公钥
  • 客户端-> HTTP POST(发送加密消息)->服务器
  • 服务器对消息进行解码,并使用客户端的公钥对答案进行编码
  • 客户端<-(对客户端的编码答案)<-服务器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM