証明書

Appleが発行する署名証明書のリクエスト、ダウンロード、および使用には、Apple Developer Programメンバーシップが必要です。

証明書の使用

デジタル証明書をリクエストしてインストールする場合、ほとんどのケースでXcodeの使用が推奨されます。ただし、Apple Pay、Apple Push Notification Service、Appleウォレット、モバイルデバイス管理などのサービスのための証明書は、デベロッパアカウントCertificates, Identifiers & Profiles(証明書、ID、プロファイル)(英語)」からリクエストし、ダウンロードする必要があります。配布用証明書をリクエストできるのは、Account Holder(アカウントホルダー)およびAdmin(管理者)のみです。

署名証明書の使用方法について詳しくは、「Xcodeヘルプ(英語)」をご確認ください。

アカウントと証明書の保護

Apple ID、認証資格情報、関連するアカウント情報およびマテリアル(App Storeへの配信や提出のために使用するApple証明書など)は、ユーザーを識別できる機密性の高いアセットです。

証明書の有効期限切れまたは無効化

  • 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アプリ)
    証明書の期限が切れると、その証明書で署名されたバージョンの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のメンバーであることが必要です。