MintChip Challengeに参加できましたが、残念ながらサポートされているモバイル デバイス (Android、iPhone、または Windows Phone) を持っていないため、Hosted APIを使用する必要があります。API とのやり取りに JavaScript/PHP を使用する予定です。唯一の問題は、データをリクエストしようとすると、API がリクエストを理解したが拒否したことを意味する403 エラーが表示されることです。
私は、すべての要求に SSL と、提供された証明書による署名が必要であることを知っています。また、証明書が有効であり、ブラウザーに正しくインポートされていることもわかっています。これは、Hosted API にアクセスして、URL のいずれかを押すことで直接要求を確認できるためです 。 json
したがって、大きな問題は、サーバー間で署名されたリクエストを有効にするために、ブラウザと同じ方法で Apache Web サーバー自体をすべてのリクエストに対して署名できるかということです。それ以外に、PHP には x.509 証明書をインポートしてリクエストに署名するためのライブラリまたはユーティリティがありますか?
私は通常、JSONp を使用して JSON API へのクライアント/サーバー リクエストを実行します。これにより、この必要性を回避できます。また、すべてのリクエストに対してこのレベルのセキュリティを必要とする他の API は考えられません。通常は BASIC Auth や ws-security などです。これはやり過ぎであり、物事をより安全にしますか? 一般的な情報に関する質問は、投稿する前にすでにこの質問に関する警告を受け取っているため、通常は好意的に見られませんが、一部のセキュリティ専門家は、Apache Web サーバーに署名する方法、特定のディレクトリからのすべての要求に対して SSL を強制する方法、キーを保護する方法について詳細な情報を持っている可能性があります。それらをサーバーに保存したり、PHP 経由で x.509 を使用したりしますか? ご協力いただきありがとうございます。
(更新: 2012 年 5 月 4 日、タイトルを変更して、秘密鍵でリクエストに署名し、もちろん公開鍵で復号化されるという事実を反映させます)