コード署名 (code signing)


アプリの コード署名 (または 署名) により、システムは誰がアプリに署名したかを識別し、アプリが署名されてから変更されていないことを確認できます。


署名は、アプリを App Store Connect にアップロードし、TestFlight または App Store を通じて配布するための要件です。オペレーティングシステムは、App Store からダウンロードされたアプリの署名を検証して、無効な署名のあるアプリが実行されないようにします。App Bundle のいずれかの実行可能コードが変更されると署名が無効になるため、アプリの実行可能コードは署名によって保護されます。有効な署名により、ユーザーはアプリが Apple のソースによって署名され、署名されてから変更されていないと信頼できます。


Xcode は、あなたの 署名証明書 を使用して、ビルドプロセス中にアプリに署名します。署名証明書は、公開鍵と秘密鍵のペアと証明書で構成されています。秘密鍵は、署名を生成するために暗号化機能によって使用されます。証明書は Apple によって発行されます。それには公開鍵が含まれ、キーペアの所有者としてあなたを識別します。アプリに署名するには、署名証明書の両方の部分と、キーチェーン内の Apple 認証書が必要です。


application_code_signing_2x


アプリの署名は削除でき、別の署名証明書を使用してアプリに再署名できます。たとえば、Apple は App Store で販売されているすべてのアプリに再署名しています。また、完全にテストされたアプリの開発ビルドを再署名して、App Store に提出する事もできます。したがって、署名は、アプリの出所を証明するものとしてではなく、署名者が付けた検証可能なマークとして最もよく理解されます。