-3

そのため、プロビジョニング プロファイルを調べていたところ、一意の識別子のリストがプレーン テキストで格納されていることがわかりました。このリストに 100 を超えるデバイスを追加しても機能しますか? Apple は、ウェブサイト経由で行う場合、100 であなたを切り捨てます。誰でもこれを経験したことがありますか?それを行うと、アプリが無効になりますか? もしそうなら、彼らが課すアドホック制限を回避する他の方法

<key>ProvisionedDevices</key>
<array>
            <string>the number</string>
            <string>another number</string>
            <string>etc</string>

</array>
4

1 に答える 1

1

残念ながら、これは機能しません。モバイル プロビジョニング プロファイルを熟読しているときに見たように、これらのプロファイルの 1 つには、プレーン テキストでエンコードされた大量の情報 (アプリ ID、開発者証明書の公開鍵、プロビジョニングされたデバイス ID など) があります。このプレーンテキスト セクションに情報を追加または変更することはできません (これは結局、マシン上のファイルです)。これが失敗する原因は、このファイルのバイナリ セクションにエンコードされた情報です。

ご存じのように、Apple は、すべての App Store アプリが開発者によって署名されることを要求しています。これは、1) ストアで「開発者 ID」の基盤を提供し、2) Apple にアップロードするバイナリが変更されていないことを確認するためです。顧客によってダウンロードまたは使用されます。このプロセスでは、公開鍵インフラストラクチャを利用して、開発者によって生成された暗号署名がプラットフォームによって実際に「信頼」されていることを確認します...基本的に、ファイル/アプリ/メッセージの内容が署名されてから変更されていないことを確認する数学的方法です開発者による。

なぜこれが重要な違いなのですか?

この「信頼」の概念は、プラットフォーム上のセキュリティの基礎であり、すべてに署名する必要があります。ブートローダーからアプリに至るまで、チェーン内の各リンクは、デバイスが信頼する機関 (この場合は Apple) によって署名されている必要があります。いずれかの時点で計算がうまくいかない場合は、セキュリティ違反があり、そのコードのビットの実行が許可されていません (注: これはジェイルブレイクされたデバイスに必ずしも当てはまるとは限りませんが、まったく別の質問のトピックです。 )。

プロビジョニング プロファイルを確認したことを示したので、質問したプレーンテキスト データにバイナリ データが混在している可能性があります。このバイナリ データは、部分的にはコード署名であり、部分的には PKI データです。ファイルが Apple によって発行されたため、プレーンテキスト セクションに含まれる情報が「微調整」されていないことが保証されます。 Xcode と iOS によって検証されます。これは、「あなたのセキュリティは、最も弱いリンクと同じくらい強力です」という、ちょっとした言葉で聞いたことがあるかもしれないフレーズに戻ります。プロビジョニング プロファイルが署名されていない架空の世界では、

また、これが通常、「オープン」対「クローズド」エコシステムのメリットに関する議論への入り口であることを認めなかったのも忘れてはいけません。それはこの質問の範囲をはるかに超えており、熱烈な意見の地雷原に足を踏み入れているため、掘り下げません...失望させて申し訳ありません.

Apple は、iOS のセキュリティに関するホワイトペーパーを公開し、コア iOS に組み込まれているセキュア ブート ローダー、コード署名、およびセキュリティ アーキテクチャについて説明しています。これは、一般に公開されている iOS セキュリティの内臓に興味がある人にとっては素晴らしい読み物です。

当面の間、ジェイルブレイクされたデバイスを多数用意しない限り、追加のテスト デバイス スロットを取得する唯一の正当な方法は、2 つ目の iOS 開発者プログラムを購入し、2 つ目の appID、2 つ目のプロビジョニング プロファイル セット、さらには 2 つ目のセットのプロビジョニング プロファイルをセットアップすることです。プロビジョニングされたデバイスの別のセットを使用してアプリを再署名できるように構成を構築します。

于 2013-05-07T20:25:36.903 に答える