証明書
Appleが発行する署名証明書のリクエスト、ダウンロード、および使用には、Apple Developer Programのメンバーシップが必要です。
証明書の使用
デジタル証明書をリクエストしてインストールする場合、ほとんどのケースでXcodeの使用が推奨されます。ただし、Apple Pay、Apple Push Notification Service、Appleウォレット、モバイルデバイス管理などのサービスのための証明書は、デベロッパアカウントの「Certificates, Identifiers & Profiles(証明書、ID、プロファイル)」からリクエストし、ダウンロードする必要があります。配布用証明書をリクエストできるのは、Account Holder(アカウントホルダー)およびAdmin(管理者)のみです。
署名証明書の使用方法について詳しくは、「Xcodeヘルプ」をご確認ください。
アカウントと証明書の保護
Apple Account、認証情報、関連するアカウント情報およびマテリアル(App Storeへの配信や提出のために使用するApple証明書など)は、ユーザーの本人確認を行う機密なアセットです。
- そのため、Apple Accountや認証情報は安全に保管し、誰とも共有しないでください。詳しくは、「セキュリティとApple Account」をご確認ください。
- 所属組織以外の人にApple証明書を共有しないでください。所属組織内の信頼できるチームメンバーに証明書を安全に共有する方法について、詳しくはXcodeヘルプの「Maintain Signing Assets(署名用アセットを管理する)」をご確認ください。
証明書の有効期限切れまたは無効化
- アプリライセンス配布(ALD)証明書
証明書の有効期限が切れた場合や無効になった場合、ALD証明書による有効なアプリライセンスリクエストの生成や暗号化ができなくなります。証明書が有効な間にリクエストおよび作成されたアプリライセンスリクエストは、証明書の期限切れや無効化の影響を受けません。 - Apple Push Notification Service証明書
アプリにプッシュ通知を送信できなくなります。 - Apple Payペイメントプロセッシング証明書
アプリおよびWebサイトでApple Payによる決済ができなくなります。 - Apple PayマーチャントID証明書
WebサイトでApple Payによる決済ができなくなります。 - Pass Type ID証明書(ウォレット)
証明書の有効期限が切れた後も、ユーザーのデバイスにすでにインストールされているパスはこれまで通りに正しく機能します。ただし、デベロッパが新しいパスに署名することや、既存のパスに更新情報を送信することはできなくなります。証明書が無効となった場合、パスは正しく機能しなくなります。 - iOS配布用証明書(App Store)
Apple Developer Programのメンバーシップが有効な場合は、App Storeで公開されている既存のアプリに影響が及ぶことはありません。ただし、期限切れまたは無効になっている証明書を使用して署名した新規のアプリやアップデート版は、App Storeに提出できなくなります。 - iOS配布用証明書(社内用、内部用アプリ)
この証明書を使用して署名されたアプリは、今後ユーザーが実行できなくなります。新しいバージョンのアプリは、新しい証明書で署名して配信する必要があります。 - Macアプリ配布用証明書とMacインストーラ配布用証明書(Mac App Store)
Apple Developer Programのメンバーシップが有効な場合は、Mac App Storeで公開されている既存のアプリに影響が及ぶことはありません。ただし、期限切れまたは無効になっている証明書を使用して署名した新規のアプリやアップデート版は、Mac App Storeに提出できなくなります。 - Developer ID Application証明書(Macアプリ)
証明書の期限が切れた後もユーザーは、その証明書で署名されたバージョンのMacアプリを、ダウンロード、インストール、実行することができます。ただし、アップデート版や新規のアプリに署名するには、新しい証明書が必要です。証明書が無効にされると、その証明書を使用して署名されたアプリをユーザーがインストールできなくなります。Macアプリが、CloudKitやプッシュ通知などの高度な機能を利用するためにDeveloper IDプロビジョニングプロファイルを使用している場合、インストール済みのバージョンのアプリを実行するには、Developer IDプロビジョニングプロファイルを有効な状態にしておく必要があります。詳しくはこちらをご確認ください。 - Developer IDインストーラ証明書(Macアプリ)
証明書の期限が切れた後も、パッケージに信頼できるタイムスタンプが含まれている限り、ユーザーはその証明書で署名されたパッケージをインストールできます。過去にインストールされたアプリは引き続き実行できますが、有効なDeveloper IDインストーラ証明書を使用してインストーラパッケージに再度署名しない限り、新規のインストールができなくなります。証明書が無効化されると、その証明書を使用して署名されたアプリをユーザーがインストールできなくなります。 - Apple Worldwide Developer Relations Certification中間証明書
Apple Worldwide Developer Relations Certificate Authorityでは、サードパーティアプリやSafari Extensionへの署名、AppleウォレットやApple Push Notification Serviceの利用のためにデベロッパが使用する証明書を発行しています。2021年1月28日以降、Appleデバイスにインストールされるソフトウェアへの署名、App Storeへのアプリの提出、特定のAppleサービスへの接続に使用するデジタル証明書は、有効期限が2030年2月20日までの新しいApple Worldwide Developer Relations中間証明書を使用して発行されます。詳しくはこちらをご確認ください。
注:Appleは、独自の裁量でいつでもデジタル証明書を無効にすることができます。詳しくは、デベロッパアカウントのApple Developer Program使用許諾契約をご確認ください。
証明書への不正アクセスが疑われる場合
Pass Type ID証明書、Developer ID証明書、あるいは秘密鍵への不正アクセスが疑われ、証明書の無効化をリクエストしたい場合は、product-security@apple.comまでEメールにてご連絡ください。この場合でも、デベロッパアカウントで追加の証明書をリクエストすることにより、パスの開発と配信を継続することができます。
「Xcode could not find a valid private-key/certificate pair for this profile in your keychain(このプロファイルに対応する有効な秘密鍵と証明書のペアがキーチェーン内で見つかりませんでした)」というエラーメッセージが表示されました。
このエラーメッセージは、アプリの署名に使用している証明書の公開鍵または秘密鍵が、お使いのシステムのキーチェーン内で見つからないことを意味します。
このエラーは多くの場合、コード署名証明書のリクエスト時に使用したものとは異なるシステムで、アプリに署名してビルドしようとする場合に発生します。また、証明書の有効期限が切れた場合や無効になったことが原因でこのエラーが発生する場合もあります。そのような場合は、アプリのプロビジョニングプロファイルに有効なコード署名証明書が含まれていること、お使いのシステムのキーチェーンに、その証明書、その証明書の生成に使用された秘密鍵とWWDR中間証明書が含まれていることを確認してください。
このエラーを解決する方法について詳しくは、コード署名に関するサポートページをご確認ください。
Apple Developer Programのメンバーシップの期限が切れた場合、Developer IDで署名したアプリにどのような影響がでますか?
メンバーシップの期限が切れた場合でも、ユーザーはDeveloper IDで署名されたアプリを引き続きダウンロード、インストール、実行することができます。ただし、Developer ID証明書の期限が切れた場合、アップデート版や新規のアプリに署名するための新しいDeveloper ID証明書を取得するには、Apple Developer Programのメンバーであることが必要です。