Web転送用のクライアントサーバー暗号化ソリューションが必要です(つまり、署名および暗号化されたクライアント側、および検証および復号化されたサーバー側)。
HTTPを使用していますが、共有ホスティングの制限によりSSLを使用できません(私のサーバーは共有ホスト環境です)。代替ソリューションを検討して、 GnuPGを使用するOpenPGPを決定しました。その理由の1つは、さまざまなPEARおよびPECLモジュールを介してPHPでサポートされていることです(PHPは、クライアントスクリプトとサーバースクリプトの両方に使用する予定の言語ですが、Perlも最後の手段として利用できます)。
私は今、データを送信するための最良の方法を決定しようとしています。暗号化および署名されたマルチパートMIMEメッセージを定義するRFC1847に出くわしました。このプロトコルは、RFC3156のPGP用に特別に拡張されています。(これらのプロトコルはS / MIME暗号化電子メールプロトコルに関連していると思います)。
私の質問は:これらの基準に従う理由はありますか?プロトコルに関する限り、それらは賢明なソリューションのように見えますが、実際にこのプロトコルを使用しているクライアントはありますか?たとえば、Apache Webサーバーに対してマルチパート/暗号化されたリクエストを行った場合、データを取得する簡単な方法はありますか?PHPスクリプトを使用したテストでは、PHPはこのような要求を解読しようとしても無駄だと思いました($_POSTデータは「multipart/form-data」MIMEタイプのデータからのもののようです)。
私のホストはソケットを開くことができるので、PHPのソケットプログラミングAPIを使用して、「multipart /encrypted」および「multipart/signed」HTTPリクエストを受け入れるサーバーとして機能するPHPスクリプトを作成することは可能ですが、これはやり過ぎのようです。
助言がありますか?
私の問題の詳細については、この質問を参照してください。