0

それで、私の会社にはiPhoneアプリがあります。API をサーバーに公開しており、クライアント アプリを認証する必要があります (ユーザーではなく、これが iPhone アプリであるかどうかを確認する必要があります)。

私ができるようにしたいのは、最初の要求の一部として、アプリケーションが Apple アプリ ストア内のアプリケーションの公開鍵をサーバーに送信することです。次に、サーバーが Apple ストアに「この公開鍵はアプリケーションの鍵ですか?」と尋ねられるようにしたいと思います。そうである場合は、他のすべてのリクエストに対して有効なトークンを発行します。そうでない場合は、リクエストをバウンスします。

このアプローチはなりすましの可能性があることは承知していますが (誰かが脱獄した電話から公開鍵を見つけて、アプリになりすますことができるという点で)、アプリの最初のリリースでは、人々に使用してもらいたいので気にしません。アプリ。後で、パートナー (上記の方法を使用してリクエストを送信することを承認されているパートナー) からの API リクエストに帰属を示したいと考えていますが、現時点では、リクエストに署名したり、真に承認したりする必要はありません (2 つまたは 3 つのレッグ oAuth を使用)。

簡単に言えば、iPhone アプリが iOS にアプリの署名に使用する公開鍵を要求する方法はありますか? o サーバーまたは他のプログラムが Apple ストアに「この公開鍵は、私が考えるアプリの鍵ですか?」と尋ねる方法はありますか?

私は基本的にAppleストアを認証機関として使用しようとしています。私は知っています:彼らはすでにAppleによって署名され承認されている必要がありますが、サーバーのリクエスト時の検証が必要です。

事前に感謝します。

4

1 に答える 1

1

独自のキーを作成してアプリ内に保存してみませんか? 次に、そのキーをすべてのリクエストとともに API に渡します。

このアプローチは、アプリのバージョンを渡すことと組み合わせて使用​​できます。このアプローチにより、アプリ キーがサポートされなくなった場合に API へのアクセスを制限したり、古いバージョンのアプリをブロックしたりできます。

于 2013-05-06T20:14:44.507 に答える