Lompat ke konten utama

Penandatanganan Android

Penghasil Keystore Android

Buat keystore Android secara online dalam beberapa detik, tanpa Android Studio atau keytool. Dapatkan keystore rilis PKCS#12, sertifikat PEM, dan tanda tangan SHA-1 dan SHA-256, siap untuk Gradle, Capacitor, fastlane, CI, dan Google Play.

Kontainer

PKCS#12

Kunci

RSA 2048, SHA-256

Jejak Jari

SHA-1 dan SHA-256

Daftar Pemeriksaan Rilis

  1. 1. Pilih alias dan kata sandi yang akan tetap dengan aplikasi ini sepanjang waktu.
  2. 2. Unduh keystore dan simpan metadata di manajer rahasia Anda.
  3. 3. Konfigurasi alias dan kata sandi yang sama di Gradle atau lingkungan CI Anda.
  4. 4. Tetapkan kunci unggah stabil agar rilis Play masa depan tidak rusak.

Masukkan

Rincian Keystore

Isi informasi subjek yang harus diintegrasikan ke dalam sertifikat tanda tangan dan pilih sebuah alias stabil.

Output

Android signing bundle yang telah dihasilkan

Setelah penghasilan Anda akan mendapatkan keystore yang dapat diunduh bersama dengan sertifikat ekspor dan sidik jari yang diperlukan untuk pengaturan toko atau integrasi OAuth.

Generate the signing bundle untuk menampilkan alias, sidik jari, dan download file di sini.

Dasar

Apa itu keystore Android?

Keystore Android adalah file yang dilindungi kata sandi yang berisi kunci pribadi dan sertifikat yang digunakan untuk menandatangani aplikasi Anda. Setiap APK dan Android App Bundle harus ditandatangani sebelum dapat diinstal atau dipublikasikan, dan Android hanya menerima update ketika ditandatangani dengan kunci yang sama dengan versi yang sudah terinstal.

File keystore tersebut membuatnya menjadi salah satu file paling penting dalam proyek Anda. Dengan Play App Signing, itu berfungsi sebagai unggah kunciYang diperiksa oleh Google sebelum mengembalikan tanda tangan aplikasi Anda. Tanpa Play App Signing, itu adalah. Kunci Tanda Tangan Aplikasi Anda tidak dapat mengupdate aplikasi jika keystore hilang.

Generator ini membuat sebuah keystore PKCS#12 (.p12) dengan kunci RSA 2048-bit dan sertifikat SHA-256, sama seperti keluaran dari keytool dan Android Studio wizard tanda tangan, dengan validitas 25 tahun default yang memenuhi persyaratan Google Play.

Keamanan dan privasi

Bagaimana keystore Anda dihasilkan

  • Keystore dibuat secara on demand oleh endpoint Capgo yang tidak berubah-ubah melalui HTTPS dan dikembalikan langsung ke browser Anda sebagai unduhan.
  • Respons dikirimkan dengan Cache-Control: no-store. Kunci pribadi, kata sandi, dan file tidak disimpan ke database atau disimpan setelah respons.
  • Keystore dilindungi dengan kata sandi Anda menggunakan enkripsi AES-256 di dalam kontainer PKCS#12.
  • Tidak ada akun atau pendaftaran yang diperlukan, dan permintaan dibatasi kecepatan untuk mencegah penyalahgunaan.

Perlu kunci yang tidak pernah meninggalkan mesin Anda? Jalankan perintah yang setara keytool jalankan perintah di lokal. Ini menghasilkan jenis keystore yang sama.

Langkah demi langkah
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"

Langkah demi langkah

Cara Membuat Android Keystore Online

Dari formulir kosong ke rilis yang ditandatangani di Google Play dalam enam langkah. Tiga langkah pertama membutuhkan kurang dari satu menit.

  1. Langkah 1

    Masukkan detail sertifikat

    Masukkan nama lengkap, email, dan kode negara dua huruf code. Organisasi, unit, kota, dan negara bagian adalah optional dan hanya muncul di subjek sertifikat.

  2. Langkah 2

    Pilih alias, validitas, dan kata sandi

    Pilih alias sederhana seperti rilis atau unggah, simpan validitas 25 tahun, dan buat kata sandi yang kuat minimal 8 karakter. Tulis semua tiga hal tersebut sebelum melanjutkan.

  3. Langkah 3

    Buat dan download keystore

    Pilih Generate keystore, kemudian download file keystore .p12 dan sertifikat PEM. Salinlah fingerprint SHA-1 dan SHA-256 dari panel hasil.

  4. Langkah 4

    Simpan keystore dan kredit

    Simpan file keystore, alias, dan kata sandi bersama-sama di manajer kata sandi atau manajer rahasia. Jangan pernah komit keystore ke Git.

  5. Langkah 5

    Konfigurasi tanda tangan dalam pembangunan Anda

    Poin Gradle, Capacitor CLI, fastlane, atau Capgo Cloud Build pada keystore dengan alias dan kata sandi, lalu bangun rilis AAB atau APK yang ditandatangani.

  6. Langkah 6

    Unggah aplikasi yang ditandatangani ke Google Play

    Unggah Android App Bundle yang ditandatangani di Play Console. Dengan Play App Signing, keystore ini menjadi kunci unggah dan Google mengelola kunci tanda tangan akhir.

Gunakan hasilnya

Tandatangani aplikasi Android dengan keystore yang dihasilkan

Ganti alias dan kata sandi dengan nilai yang Anda masukkan di atas. Karena keystore adalah PKCS#12, kata sandi kunci adalah sama dengan kata sandi toko.

Konfigurasi tanda tangan Gradle

Berfungsi untuk Capacitor, Ionic, React Native, Flutter, dan proyek native. Simpanlah kata sandi di gradle.properties atau variabel lingkungan.

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

Buatlah aplikasi Android yang ditandatangani dengan satu perintah untuk aplikasi Capacitor.

Capacitor build yang ditandatangani
bunx cap build android \
  --keystorepath ./release.p12 \
  --keystorepass "your-password" \
  --keystorealias release \
  --keystorealiaspass "your-password" \
  --androidreleasetype AAB

Capgo Build Cloud

Simpan keystore sekali dan biarkan Capgo Build Cloud tandatangi dan unggah setiap rilis.

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"

fastlane

Masukkanlah properti tanda tangan ke dalam aksi Gradle dari rahasia CI.

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"],
  }
)

Verifikasi, konversi, dan simpan di CI

Cek alias dan fingerprint, konversi ke JKS untuk alat lama, atau enkode file untuk rahasia CI.

keytool dan base64
# 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

Troubleshooting

Masalah Android keystore umum dan solusi

Keystore telah dimanipulasi, atau kata sandi salah
Kata sandi toko salah. Salin lagi dari manajer kata sandi dan periksa spasi di akhir rahasia CI.
Tidak ada kunci dengan alias 'release' ditemukan di keystore
Alias tidak sesuai. Jalankan keytool -list pada keystore untuk melihat alias yang tepat, yang sensitif terhadap huruf besar kecil.
Tidak ada blok akhir yang dipadatkan dengan benar
Kata sandi kunci salah. Dengan keystore PKCS#12, kata sandi kunci harus sama dengan kata sandi toko.
Format keystore tidak valid
Alat Java 8 yang lebih tua membaca file PKCS#12 sebagai JKS. Atur tipe penyimpanan "pkcs12" di Gradle atau konversi file ke JKS dengan keytool -importkeystore.
Apk Anda yang berbentuk bundle Android ditandatangani dengan kunci yang salah
Google Play mengharapkan kunci unggulan asli. Tandatangani dengan kunci tersebut, atau minta reset kunci unggulan di Play Console menggunakan sertifikat PEM dari keystore baru.
Google Sign-In atau Firebase Auth gagal hanya pada build release
Tambahkan fingerprint SHA-1 dan SHA-256 rilis ke Firebase, serta juga fingerprint kunci Play App Signing dari Play Console.

FAQ

Pertanyaan Umum Generator Keystore Android

Informasi tentang format keystore, kata sandi, keberlangsungan, kunci unggulan Google Play, dan apa yang harus dilakukan jika kunci hilang.

Apa itu keystore Android?

An Android keystore is a password-protected file that holds the private key and certificate used to sign your APK or Android App Bundle. Android and Google Play use that signature to verify that every update comes from the same developer, so the same key must sign all future releases of the app.

Bagaimana cara saya menghasilkan keystore Android secara online tanpa menggunakan Android Studio?

Isi nama, alamat email, negara code, alias kunci, periode keberlakuan, dan kata sandi di formulir di atas, lalu pilih Generate keystore. Anda mendapatkan sebuah keystore .p12 yang siap digunakan, salinan sertifikat dalam format PEM, dan sidik jari SHA-1 dan SHA-256. Tidak perlu menginstal Android Studio, JDK, atau keytool.

Apakah format file apa yang digunakan oleh generator keystore Android ini?

Generator keystore Android ini menghasilkan sebuah keystore PKCS#12 (.p12) dengan kunci signing RSA 2048-bit dan sertifikat SHA-256 yang ditandatangani, serta ekspor sertifikat dalam format PEM. PKCS#12 adalah jenis keystore default sejak Java 9 dan diterima oleh Gradle, apksigner, jarsigner, dan Google Play. Jika alat lama memerlukan file JKS, konversi dengan perintah keytool -importkeystore.

Apakah aman untuk mengenerate keystore secara online? Apakah kunci saya disimpan?

Keystore dihasilkan secara langsung oleh endpoint Capgo yang tidak memiliki keadaan (stateless) melalui HTTPS dan dikembalikan langsung ke browser Anda. Respons dikirim dengan Cache-Control: no-store, dan kunci pribadi, kata sandi, dan file tidak pernah ditulis ke database atau disimpan setelah respons. Jika kebijakan keamanan Anda memerlukan kunci yang tidak pernah meninggalkan mesin Anda, gunakan perintah keytool yang setara yang ditampilkan pada halaman ini.

Apakah saya bisa menggunakan keystore ini untuk rilis Google Play?

Ya. Gunakan sebagai kunci unggah untuk aplikasi baru yang terdaftar di Play App Signing, atau sebagai kunci signing aplikasi untuk distribusi APK langsung. Google Play memerlukan sertifikat yang valid hingga paling tidak 22 Oktober 2033, yang periode keberlakuan default 25 tahun menutupinya.

Apakah kata sandi keystore dan kata sandi kunci harus berbeda?

Keunikan PKCS#12 keystore menggunakan satu kata sandi untuk kontainer dan kunci. Di Gradle, Capacitor CLI, fastlane, atau Capgo Cloud Build, masukkan nilai yang sama untuk kata sandi toko dan kata sandi kunci.

Apa periode keabsahan yang harus saya pilih?

Tetapkan default 25 tahun. Google merekomendasikan setidaknya 25 tahun, dan Google Play menolak unggahan yang ditandatangani dengan sertifikat yang akan berakhir sebelum 22 Oktober 2033. Anda tidak dapat memperpanjang keabsahan kunci yang sudah ada.

Apa yang terjadi jika saya kehilangan keystore atau kata sandi saya?

Jika aplikasi Anda menggunakan Play App Signing, Anda dapat meminta Google untuk mengatur ulang kunci unggah dari Play Console dengan menghasilkan keystore baru di sini dan mengunggah sertifikat PEM-nya. Tanpa Play App Signing, kunci yang hilang berarti Anda tidak dapat memublikasikan update ke aplikasi yang sama, jadi simpan file, alias, dan kata sandi di manager rahasia.

Apakah saya memerlukan alat ini untuk keystore debug?

Biasanya tidak. Android SDK akan membuat keystore debug secara otomatis di ~/.android/debug.keystore dengan kata sandi android dan alias androiddebugkey. Gunakan generator ini untuk kunci rilis dan unggah yang harus tetap stabil di sepanjang rilis toko.

Di mana saya dapat menemukan fingerprint SHA-1 dan SHA-256?

Mereka ditampilkan di panel hasil setelah penghasilan. Daftarkan mereka dengan Firebase, Google Sign-In, Google Maps, atau Android App Links (assetlinks.json). Perlu diingat bahwa setelah Play App Signing mere-sign aplikasi, layanan Google juga memerlukan fingerprint kunci tanda tangan dari Play Console.

Apakah itu berfungsi untuk Capacitor, aplikasi Ionic, React Native, dan Flutter?

Ya. Keystore ini tidak tergantung pada framework. Apapun Android build yang menggunakan Gradle dapat menandatanganinya, termasuk Capacitor, Ionic, React Native, Flutter, dan proyek Kotlin atau Java native.