メインコンテンツにジャンプ

Apple署名

iOS証明書生成器

MacなしでiOS配布または開発用証明書を作成し、AppleにCSRをアップロードし、発行された証明書を.p12ファイルに変換して署名する。

  • Mac、Keychain Access、またはMac以外のWindows、Linux、macOSからCSRを作成する
  • Apple配布用(App Store、TestFlight、ad hoc)およびApple開発用証明書に対応
  • このページでブラウザ上で発行された.cerを.p12に変換してください。Xcode、fastlane、CI、またはCapgo Cloud Buildのために。

ワークフロー

  1. 1. 入力する証明書主題の詳細を指定してください。
  2. 2. CSRとマッチングした秘密鍵をダウンロードする
  3. 3. アップル開発者でCSRをアップロードして証明書を作成する
  4. 4. 発行された.cerと秘密鍵をステップ2の下でパスワード保護された.p12に変換する

ステップ1

CSRと秘密鍵を生成する

アップル証明書要求で同じ人物または組織のアイデンティティを使用する

出力

生成された署名要求

CSRが生成されるまで何も表示されません。生成が完了したら、両方のファイルをダウンロードし、プライベートキーを安全に保存してください。

サブジェクトの概要とダウンロードボタンを表示するCSRを生成してみましょう。

ステップ2

ステップ 2

Appleの.cerを.p12に変換 .cer 1から取得した秘密鍵を使用してパスワード保護された .p12 Xcode、fastlane、CI、またはCapgo Cloud Build用

ブラウザ上で実行されます。 サーバーにアップロードされることなく、ローカルでのみ証明書、秘密鍵、パスワードを読み取ります。

Apple Developerからダウンロードしたdistribution.cerまたはdevelopment.cerファイル。DERおよびPEMの両方が受け入れられます。

アップロードしたCSRとともにダウンロードしたios-private-key.pemファイル。

出力

.p12署名のアイデンティティ

Select your .cer and private key, set a password, and build the .p12. It uses 3DES encryption with a SHA-1 MAC, the format macOS Keychain and Xcode accept.

Basics

iOS署名証明書とは

Apple requires every iOS app to be code signed. A signing certificate proves the build comes from a member of your Apple Developer team, and iOS refuses to install or launch apps whose signature it cannot trust.

取得するには3つのファイルが必要です。 CSR (.csr)には公開鍵とアイデンティティが含まれ、Appleに送信されます。 プライベートキー (.pem)はあなたと一緒に残ります。 The 証明書 Appleが返すものは(.cer)です。 ビルドツールは証明書と秘密鍵を合わせて.p12ファイルとして必要とします。 .p12 セキュリティとプライバシー

秘密鍵の取り扱い

CSRと2048ビットのRSA秘密鍵は、HTTPSでstateless __CAPGO_KEEP_0__エンドポイントによってオンデマンドで作成され、ブラウザに直接返されます。

レスポンスは送信されます。 . データベースに保存されるものも、レスポンス後に保持されるものもありません。

  • HTTPSでstatelessなCapgoエンドポイントによって、CSRと2048ビットのRSA秘密鍵はオンデマンドで作成され、直接ブラウザに返されます。
  • Security and privacy Cache-Control: no-storeHow your private key is handled
  • The CSR and RSA 2048-bit private key are created on demand by a stateless __CAPGO_KEEP_0__ endpoint over HTTPS and returned directly to your browser.
  • ブラウザ内で実行される.cerから.p12に変換するツールは、サーバーにアップロードされることはありません。
  • アカウントやサインアップは必要ありません。リクエストは、悪用を防ぐために制限されています。

ローカルでキーを生成したい場合はこちらのOpenSSLコマンドを使用してください。

同等のOpenSSLコマンド
openssl req -new -newkey rsa:2048 -nodes \
  -keyout ios-private-key.pem \
  -out ios-certificate-request.csr \
  -subj "/emailAddress=jane@company.com/CN=Jane Doe/C=US"

ステップバイステップ

Macが必要ないiOS配布用証明書を作成する方法

CSRからテストフライトで署名されたビルドまで。すべてのステップはブラウザとWindows、Linux、macOSのターミナルから実行できます。

  1. ステップ1

    CSRとプライベートキーを生成する

    Enter your name, email, and two-letter country code in the form above and select Generate CSR and private key. Download both files and keep the private key safe.

  2. ステップ2

    Apple Developerで証明書を作成する

    Apple Developer のサイトにサインインし、Certificates, Identifiers & Profiles を開き、+ をクリックし、Apple Distribution または Apple Development を選択します。

  3. Step 3

    Step 4

    ios-certificate-request.csr ファイルをアップロードし、続行し、発行された証明書をダウンロードします。通常、distribution.cer または development.cer になります。

  4. Step 5

    .cer を .p12 ファイルに変換します。

    .cer とプライベート キーを選択し、パスワードを設定し、.p12 をダウンロードします。ブラウザで実行するか、OpenSSL コマンドを使用することもできます。

  5. Step 6

    App ID に対して App Store、ad hoc、または開発用のプロビジョニング プロファイルを作成し、新しい証明書を選択します。

    Step 7

  6. アプリを署名し、配信します。

    Step 8

    Xcode、fastlane、CIのシークレット、またはCapgo Cloud Buildに.p12とプロファイルをインポートし、テストフライトまたはApp Storeにアプリをビルドしてアップロードしてください。

出力結果を使用してください。

.p12でiOSアプリを署名してください。

最速のパスは ブラウザ内で.cerを.p12に変換する 上記の手順に従ってください。 コマンドラインを使用したい場合は、OpenSSLを使用します。OpenSSLは.p12のパスワードを求めます。

OpenSSLを使用して.p12を作成してください。

OpenSSLはmacOSと多くのLinuxディストリビューションにプリインストールされており、WindowsではGit BashまたはWSLを使用して入手できます。

.cerを.p12に変換してください。
# 1. Convert Apple's DER .cer to PEM
openssl x509 -inform DER -in distribution.cer -out distribution.pem

# 2. Bundle the certificate and private key into a .p12
#    -legacy (OpenSSL 3) keeps the file compatible with macOS Keychain.
#    Drop it on OpenSSL 1.1 or LibreSSL, which do not support the flag.
openssl pkcs12 -export -legacy \
  -inkey ios-private-key.pem \
  -in distribution.pem \
  -name "Apple Distribution" \
  -out distribution.p12

Capgo Cloud Build

p12とプロビジョニングプロファイルを一度保存し、 Capgo Cloud Build Macを必要とせずにiOSビルドを署名してアップロードできます。

Capgo CLI
bunx @capgo/cli@latest build credentials save \
  --platform ios \
  --certificate ./distribution.p12 \
  --p12-password "your-p12-password" \
  --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \
  --apple-team-id "TEAM123456"

fastlaneとXcode

Mac上では、.p12ファイルをダブルクリックしてKeychainにインポートし、Xcodeがそれを認識します。CIランナー上では、fastlaneで一時的なKeychainにインポートします。

Fastfile
import_certificate(
  certificate_path: "distribution.p12",
  certificate_password: ENV["P12_PASSWORD"],
  keychain_name: "build.keychain",
  keychain_password: ENV["KEYCHAIN_PASSWORD"]
)

CIシークレットとキー検証

GitHubアクションまたはGitLabシークレット用に署名ファイルをbase64でエンコードし、証明書がプライベートキーと一致することを確認します。

base64とOpenSSL
# Encode the .p12 and profile for CI secrets
base64 -i distribution.p12 | tr -d '\n' > p12.base64
base64 -i profile.mobileprovision | tr -d '\n' > profile.base64

# Check that the certificate and key match (both hashes must be equal)
openssl x509 -noout -modulus -in distribution.pem | openssl md5
openssl rsa -noout -modulus -in ios-private-key.pem | openssl md5

トラブルシューティング

iOS証明書の一般的なエラーと修正

入力したパスワードが不正です(Keychainインポート)
OpenSSL 3はmacOS Keychainが拒否する可能性があるアルゴリズムで.p12ファイルを暗号化します。上記の-legacyフラグを使用してOpenSSL 3で.p12を再エクスポートします。
証明書はプライベートキーに一致しません
異なるCSRで発行された.cerを使用しているため、または証明書を取り消し、CSRを新しく作成してから再度試してください。
証明書を読み込むことができません
Appleは.cerファイルをDER形式で配布しています。openssl x509で.cerを変換する際に-inform DERを追加してください。
プロビジョニングプロファイルには署名証明書が含まれていません
プロファイルは特定の証明書と紐付けされています。新しい証明書を作成した後、プロファイルを編集または再生成し、再度ダウンロードしてください。
証明書の最大数に達しました
Appleはチームが保有できる配布証明書の数に制限があります。Apple Developerで未使用の証明書を取り消してください。Live App Storeアプリは影響を受けません。
キーチェーンで証明書が信頼されていません
Apple Worldwide Developer Relations (WWDR)の中間証明書をApple PKIからインストールし、.p12を再度インポートしてください。

署名後

ウェブ修正をアプリストアのループ回避で配信できます

ネイティブバイナリが署名されたら、Capgoライブアップデートは、Capacitorウェブ層の変更をオーバーザエアで配信できます—チャンネル、ロールバック、既存のCI/CDを含む。 その時までに、OTAを同じリリースパスに組み込む準備ができたら、無料で試すことができます。

FAQ

iOS証明書生成器FAQ

CSRs、証明書タイプ、.p12の変換、Apple Developerアカウント、MacなしでiOSアプリを署名する方法についての質問

このiOS証明書生成器は何を作成しますか?

Certificate Signing Request (.csr)と対応するRSA 2048-bitの秘密鍵(.pem)を作成します。アップロードしたCSRをApple Developerに送信すると、Apple DistributionまたはApple Development証明書(.cer)が発行されます。 .cerを秘密鍵と組み合わせて、Xcode、fastlane、CI、またはCapgoCloud Buildで使用できる.p12ファイルを作成します。

Certificate Signing Request (CSR)とは何ですか?

CSRは、公開鍵と識別情報(名前、メール、国名)を含む小さなファイルで、プライベート鍵で署名されています。Appleは、その鍵に紐づいた署名証明書を発行します。プライベート鍵はAppleに渡されないため、ツールが提供する.pemファイルを安全に保管する必要があります。

MacなしでiOS配布証明書を作成できますか?

はい。CSRと秘密鍵をここで生成し、Apple Developer ポータルにアップロードし、.cerファイルをダウンロードし、ステップ2のこのページにあるコンバーターで.p12に変換してください。Windows、Linux、macOSからでも動作するので、Keychain Accessは必要ありません。

Apple Developerでどの証明書タイプを選択するべきですか?

Apple Developmentを選択して、登録済みテストデバイスでXcodeからビルドを実行します。Apple Distributionを選択して、App Store、TestFlight、ad hoc配布用にビルドを署名します。同じCSRはどちらのタイプでも使用できます。タイプはApple Developerで選択し、このツールでは選択しません。

サーバーに秘密鍵が保存されているのですか?

いいえ。ステップ1では、HTTPSでstateless CapgoエンドポイントによってCSRと秘密鍵がオンデマンドで生成され、Cache-Control: no-store; で返され、ブラウザに直接返され、データベースに書き込まれず、返答後に保存されません。ステップ2では、.cerファイルから.p12ファイルに変換するコンバーターは、ブラウザ上で実行され、アップロードされません。ローカルキーの生成が必要な場合は、このページの同等のOpenSSLコマンドを使用してください。

.cerファイルを.p12ファイルに変換する必要があります。なぜですか?

.cerファイルはAppleから提供されるものだけが公開証明書を含みます。アプリを署名するには秘密鍵も必要なので、パスワードで保護された.p12ファイルが証明書と秘密鍵を含むことをビルドツールが期待します。

.cerファイルを.p12ファイルに変換するにはどうすればいいですか?

このページのステップ2を使用してください: Appleの.cer (DERまたはPEM)を選択し、CSRを作成したプライベートキー.pemを選択し、パスワードを入力し、ビルド.p12ファイルを選択します。ブラウザは証明書がキーと一致するかどうかを確認し、macOS Keychain、Xcode、fastlaneが受け入れる3DES暗号化.p12ファイルを作成します。アップロードは行われません。CIシークレットとしても.p12をbase64でコピーできます。

Apple Developerアカウントが必要ですか?

はい。アップロードするCSRと署名証明書を発行するには、有料のApple Developer Programの会員資格 (年間99ドル、またはインハウス配布用のエンタープライズプログラム) が必要です。CSR自体はアカウントなしで生成できます。

iOS署名証明書の有効期間は何日ですか?

Apple DevelopmentとApple Distribution証明書は1年間有効です。App Storeにすでに公開されているアプリは証明書が期限切れになったり、取り消されたりしても機能を維持しますが、次のビルドに署名するには新しい証明書とプロビジョニングプロファイルが必要になります。

同じCSRまたはプライベートキーを再利用できますか?

できますが、安全かつ簡単にローテーションできる新しいキーペアを使用する方が安全です。混ぜてはなりません: .cerはそのCSRを作成した正確なプライベートキーとしか機能しません。キーが失われた場合は証明書を取り消し、新しいCSRを作成してください。

このCSRをAPNs証明書 (Push Notification) に使用できますか?

はい。AppleはAPNs SSL証明書を作成するときにCSRを要求します。新しいアプリの場合、APNs認証キー (.p8) は永続的に機能し、アプリすべてに使用できるため、より簡単です。