メインコンテンツにジャンプします。

Android署名

Android Keystore生成ツール

Generate an Android keystore online in seconds, without Android Studio or keytool. Get a PKCS#12 release keystore, the PEM certificate, and the SHA-1 and SHA-256 fingerprints, ready for Gradle, Capacitor, fastlane, CI, and Google Play.

Container

PKCS#12

指紋

コンテナ

PKCS#12

キー

リリースチェックリスト

  1. 1. このアプリに長期的に共存するアレサとパスワードを選択してください。
  2. 2. キーストアをダウンロードし、秘密管理者にメタデータを保存してください。
  3. 3. GradleまたはCI環境で同じアレサとパスワードを設定してください。
  4. 4. アップロードキーを安定させて、将来のPlayリリースが機能しないようにしてください。

入力

キーストアの詳細

署名証明書に埋め込むべきサブジェクト情報を入力し、安定したアレサを選択してください。

出力

生成された Android 署名バンドル

生成後、ダウンロード可能なキーストア、証明書エクスポート、およびストア設定または OAuth 統合に必要な指紋が取得できます。

署名バンドルを生成して、ここでアリーアス、指紋、ファイルダウンロードを表示します。

基本

Android キーストアとは何ですか?

Android キーストアは、プライベート キーと証明書を含むパスワード保護ファイルです。アプリをインストールまたは公開する前に、すべての APK と Android アプリ バンドルは署名する必要があります。Android は、すでにインストールされているバージョンと同じキーで署名されたアップデートのみを受け付けます。

したがって、キーストアはプロジェクト内で最も重要なファイルの 1 つです。Play アプリ署名を使用すると、アップロード キーとして機能し、Google はアップロード キーを確認する前にアプリを再署名します。Play アプリ署名を使用しない場合は、アプリ署名キー自身であり、失うとアプリをアップデートできなくなります。 キーのアップロードセキュリティとプライバシー キーストアの生成方法 キーストアは、HTTPS で stateless __CAPGO_KEEP_0__ エンドポイント上でオンデマンドで生成され、ブラウザに直接ダウンロードされます。

Security and privacy keytool How your keystore is generated

The keystore is created on demand by a stateless __CAPGO_KEEP_0__ endpoint over HTTPS and returned directly to your browser as a download.

Security and privacy

  • HTTPSでstatelessなCapgoエンドポイントによって、キーストアはオンデマンドで作成され、ブラウザに直接ダウンロードされるように返されます。
  • リクエストは Cache-Control: no-store. 秘密鍵、パスワード、ファイルは、リクエストの後にデータベースに保存されない。保存されない。
  • キーストアは、パスワードで保護され、AES-256暗号化がPKCS#12コンテナ内で行われます。
  • アカウントやサインアップは必要ありません。リクエストは、悪用を防ぐために、制限されます。

機械上のキーケースが必要ですか? 同等のコマンドをローカルに実行してください。同等のキーストアを生成します。 keytool 同等のkeytoolコマンド

ステップバイステップ
keytool -genkeypair -v \
  -storetype PKCS12 \
  -keystore release.p12 \
  -alias release \
  -keyalg RSA -keysize 2048 \
  -validity 9125 \
  -dname "CN=Jane Doe, O=Acme Mobile, C=DE"

Androidキーストアをオンラインで生成する方法

Google Playで署名されたリリースまで、6つのステップで空のフォームから。最初の3ステップは1分未満です。

ステップ1

  1. Step 1

    ステップ2

    Androidキーストア生成ツール (1)フルネーム、(2)メールアドレス、(3)2文字の国コードを入力してください。 code. 組織名、部門名、都市名、州名は省略可能で、証明書の主題にのみ表示されます。

  2. ステップ2

    エイリアス、有効期限、パスワードを選択

    エイリアスを簡単に設定するには「リリース」や「アップロード」などの単純な名前を使用し、25年間の有効期限を維持し、パスワードを8文字以上で強く設定してください。すべての3つを書き留めてください。

  3. Step 3

    キーストアを生成してダウンロード

    「キーストアを生成」ボタンをクリックし、.p12形式のキーストアとPEM形式の証明書をダウンロードしてください。結果パネルからSHA-1とSHA-256の指紋をコピーしてください。

  4. ステップ 4

    キーストアとクレデンシャルをバックアップ

    キーストアファイル、エイリアス、パスワードをパスワードマネージャーやシークレットマネージャーに保存してください。キーストアをGitにコミットしないでください。

  5. Step 5

    ビルド設定で署名を設定

    Point Gradle, the Capacitor CLI, fastlane, or Capgo Cloud Build at the keystore with the alias and password, then build a signed release AAB or APK.

  6. ステップ6

    Google Playに署名済みアプリをアップロード

    Play Consoleに署名済みAndroidアプリバンドルをアップロード。Playアプリ署名機能の場合、この鍵ストアはアップロードキーになり、Googleが最終的なアプリ署名キーを管理します。

生成された鍵ストアを使用

Androidアプリに署名するには、生成された鍵ストアを使用

エイリアスとパスワードを上記の値に置き換えます。鍵ストアはPKCS#12なので、キー パスワードはストア パスワードと同じです。

Gradle署名設定

Capacitor、Ionic、React Native、Flutter、そしてネイティブプロジェクトに対応します。パスワードはgradle.propertiesまたは環境変数に保存してください。

android/app/build.gradle
// android/app/build.gradle
android {
    signingConfigs {
        release {
            storeFile file(RELEASE_STORE_FILE)
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_STORE_PASSWORD
            storeType "pkcs12"
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

# ~/.gradle/gradle.properties (keep out of Git)
RELEASE_STORE_FILE=/path/to/release.p12
RELEASE_STORE_PASSWORD=your-password
RELEASE_KEY_ALIAS=release

Capacitor CLI

Build a signed Android App Bundle for a Capacitor app in one command.

Capacitor署名ビルド
bunx cap build android \
  --keystorepath ./release.p12 \
  --keystorepass "your-password" \
  --keystorealias release \
  --keystorealiaspass "your-password" \
  --androidreleasetype AAB

Capgo Cloud Build

__CAPGO_KEEP_0__を一度保存し、 Capgo Cloud Build __CAPGO_KEEP_0__ から毎回署名とアップロードを実行してください。

Capgo CLI
bunx @capgo/cli@latest build credentials save \
  --platform android \
  --keystore ./release.p12 \
  --keystore-alias release \
  --keystore-key-password "your-password" \
  --keystore-store-password "your-password"

「Capgo」について

fastlane

Fastfile
gradle(
  task: "bundle",
  build_type: "Release",
  properties: {
    "android.injected.signing.store.file" => ENV["RELEASE_STORE_FILE"],
    "android.injected.signing.store.password" => ENV["RELEASE_STORE_PASSWORD"],
    "android.injected.signing.key.alias" => ENV["RELEASE_KEY_ALIAS"],
    "android.injected.signing.key.password" => ENV["RELEASE_STORE_PASSWORD"],
  }
)

Fastfile

CIで検証、変換、保存します。

aliasと指紋を確認し、JKS形式で古いツール向けに変換、またはCIシークレット用にファイルをエンコードします。
# Inspect the keystore, alias, and fingerprints
keytool -list -v -keystore release.p12 -storetype PKCS12

# Convert to JKS if an older tool requires it
keytool -importkeystore \
  -srckeystore release.p12 -srcstoretype PKCS12 \
  -destkeystore release.jks -deststoretype JKS

# Base64-encode the keystore for a CI secret
base64 -i release.p12 | tr -d '\n' > release.p12.base64

トラブルシューティング

Androidキーストアエラーと修正

キーストアが改ざんされた、またはパスワードが不正
ストアパスワードが間違っています。パスワードマネージャーからコピーし、CIシークレットで末尾のスペースを確認してください。
リリース用のキーがキーストアに存在しません。
エイリアスが一致しません。キーストアのエイリアスを確認するには、keytool -listを実行してください。エイリアスは大文字小文字区別です。
最終ブロックが適切にパディングされていません。
キーパスワードが不正です。PKCS#12キーストアの場合、キーパスワードはストアパスワードと等しくなければなりません。
キーストアの形式が不正です。
古いJava 8のツールチェーンがPKCS#12ファイルをJKSとして読み取っています。GradleでstoreType「pkcs12」を設定するか、keytool -importkeystoreを使用してファイルをJKSに変換してください。
Androidアプリバンドルが間違ったキーで署名されています。
Google Playは元のアップロードキーを期待しています。元のアップロードキーで署名するか、Play ConsoleでPEM証明書から新しいキーストアを作成してアップロードキーをリセットしてください。
Google Sign-In または Firebase Auth はリリースビルドでのみ失敗します。
Firebase にリリース SHA-1 と SHA-256 の指紋を追加し、Play Console から Play App Signing キーフィンガープリントも追加してください。

FAQ

Android キーストア生成ツールのFAQ

Android キーストアの質問に答えています。キーストアのフォーマット、パスワード、有効期限、Google Play アップロードキー、キーストアが失われた場合の対処法について説明しています。

Android キーストアとは何か?

Android キーストアは、パスワードで保護されたファイルで、APK または Android アプリ バンドルの署名に使用される秘密鍵と証明書を保持しています。Android と Google Play は、すべてのアップデートが同じ開発者から来ていることを確認するために、その署名を使用します。したがって、すべての将来のリリースのアプリは同じキーストアで署名する必要があります。

Android キーストアをオンラインで Android Studio なしで生成するにはどうすればよいですか?

Fill in your name, email, country code, a key alias, a validity period, and a password in the form above, then select Generate keystore. You get a ready-to-use .p12 keystore, a PEM copy of the certificate, and the SHA-1 and SHA-256 fingerprints. No Android Studio, JDK, or keytool install is needed.

この Android キーストア生成ツールはどのようなファイル形式で出力しますか?

PKCS#12 (.p12) キーストアを出力し、RSA 2048-bit の署名鍵と SHA-256 で署名された証明書を含みます。また、PEM の証明書エクスポートも含まれます。PKCS#12 は Java 9 から標準のキーストア形式であり、Gradle、apksigner、jarsigner、Google Play などで使用できます。古いツールが JKS ファイルを必要とする場合は、keytool -importkeystore を使用して変換してください。

オンラインでキーストアを生成することは安全ですか? キーはどこに保存されますか?

HTTPS経由で、Capgoエンドポイントは、要求に応じてキーストアを生成し、ブラウザに直接返します。レスポンスはCache-Control: no-storeヘッダーで送信され、プライベートキー、パスワード、およびファイルは、レスポンス後にデータベースに書き込まれずに保持されません。機密情報が機械上に残らないようにするセキュリティポリシーが必要な場合は、このページに示されている同等のkeytoolコマンドを使用してください。

Google Playリリース用にこのキーストアを使用できますか?

はい。Playアプリ署名に登録された新しいアプリのアップロードキーとして、または直接APK配布のアプリ署名キーとして使用してください。Google Playでは、証明書が少なくとも2033年10月22日まで有効であることを要求しており、デフォルトの25年有効期限はこれをカバーしています。

ストアパスワードとキー パスワードが異なるべきですか?

いいえ。PKCS#12キーストアでは、コンテナとキーに同じパスワードを使用します。Gradleでは、Capacitor、CLI、fastlane、またはCapgo Cloud Buildで、ストアパスワードとキー パスワードの両方に同じ値を入力してください。

どの有効期限を選択するべきですか?

デフォルトの25年を維持してください。Googleは少なくとも25年を推奨しており、2033年10月22日以前に有効期限が切れる証明書でアップロードした場合、Google Playはアップロードを拒否します。既存のキーを有効期限を延長することはできません。

キーストアまたはパスワードを失った場合に何が起こりますか?

Play App Signingを使用するアプリの場合、ここで新しいキーストアを生成し、PEM証明書をアップロードしてGoogleからアップロードキーをリセットするように求めることができます。Play App Signingを使用しない場合、失われたキーは同じアプリリストにアップデートを公開できないため、ファイル、エイリアス、パスワードをシークレットマネージャーにバックアップしてください。

デバッグキーストアの場合にこのツールが必要ですか?

Usually not. The Android SDK creates a debug keystore automatically at ~/.android/debug.keystore with the password android and the alias androiddebugkey. Use this generator for release and upload keys that must stay stable across store releases.

SHA-1とSHA-256の指紋はどこで見つけることができますか?

生成された結果パネルに表示されます。Firebase、Google Sign-In、Google Maps、またはAndroid App Links(アセットリンクス.json)に登録してください。ただし、Play App Signingがアプリを再署名すると、GoogleサービスもPlay Consoleからアプリ署名キー指紋を登録する必要があります。

Does it work for Capacitor, Ionic, React Native, and Flutter apps?

Yes. A keystore is framework independent. Any Android build that uses Gradle can sign with it, including Capacitor, Ionic, React Native, Flutter, and native Kotlin or Java projects.