Menggunakan penandatanganan aplikasi oleh Google Play

Dengan penandatanganan aplikasi oleh Google Play, Google akan mengelola dan melindungi kunci penandatanganan aplikasi untuk Anda, dan menggunakannya untuk menandatangani APK Anda yang akan didistribusikan. Ini adalah cara yang aman untuk menyimpan kunci penandatanganan aplikasi, sehingga membantu melindungi Anda jika kunci hilang atau disusupi.

Penting: Untuk menggunakan Android App Bundle (format publikasi aplikasi yang disarankan), Anda harus mendaftar ke penandatanganan aplikasi oleh Google Play sebelum mengupload app bundle Anda di Konsol Play.

Untuk ikut serta, Anda harus merupakan pemilik akun atau pengguna dengan izin "Kelola rilis produksi" global, dan Anda harus menerima Persyaratan Layanan. Anda dapat mendaftarkan aplikasi ke penandatanganan aplikasi oleh Google Play satu per satu.

Cara kerjanya

Ketika Anda menggunakan penandatanganan aplikasi oleh Google Play, kunci akan disimpan di infrastruktur yang sama dengan yang digunakan Google untuk menyimpan kuncinya sendiri. Kunci dilindungi oleh Key Management Service Google. Jika Anda ingin mempelajari infrastruktur teknis Google, baca Laporan Resmi Keamanan Google Cloud.

Aplikasi Android ditandatangani dengan kunci pribadi. Untuk memastikan bahwa update aplikasi dapat dipercaya, setiap kunci pribadi memiliki sertifikat publik terkait yang digunakan perangkat dan layanan untuk memverifikasi bahwa aplikasi tersebut berasal dari sumber yang tepercaya. Perangkat hanya menerima update jika tanda tangannya sesuai dengan tanda tangan aplikasi yang terinstal. Dengan mengizinkan Google mengelola kunci penandatanganan aplikasi Anda, proses ini dapat menjadi lebih aman.

Catatan: Menggunakan penandatanganan aplikasi oleh Google Play bersifat opsional. Anda masih dapat mengupload APK dan mengelola kunci Anda sendiri, dan tidak menggunakan app bundle. Namun, jika keystore Anda hilang atau disusupi, Anda tidak akan dapat mengupdate aplikasi tanpa memublikasikan aplikasi baru dengan nama paket baru.

Deskripsi kunci, artefak, & fitur
Istilah Deskripsi
Kunci penandatanganan aplikasi

Kunci yang digunakan Google Play untuk menandatangani APK yang dikirimkan ke perangkat pengguna. Jika Anda ikut serta dalam penandatanganan aplikasi oleh Google Play, Anda dapat mengupload kunci penandatanganan aplikasi yang sudah ada atau memilih agar Google membuatkannya untuk Anda.

Kunci penandatanganan aplikasi tidak dapat diubah selama masa aktif aplikasi. Jaga kerahasiaan kunci penandatanganan aplikasi, tapi Anda dapat membagikan sertifikat publik aplikasi dengan pihak lain.

Kunci upload

Kunci yang Anda gunakan untuk menandatangani app bundle atau APK sebelum Anda menguploadnya ke Google Play. Jaga kerahasiaan kunci upload, tapi Anda dapat membagikan sertifikat publik aplikasi dengan pihak lain. Demi keamanan, sebaiknya kunci penandatanganan aplikasi dan kunci upload berbeda.

Ada dua cara untuk membuat kunci upload:

  • Menggunakan kunci penandatanganan aplikasi: Jika Anda memilih agar Google membuatkan kunci penandatanganan saat ikut serta dalam penandatanganan aplikasi, maka kunci yang digunakan untuk rilis pertama juga merupakan kunci upload Anda.
  • Menggunakan kunci upload terpisah: Jika Anda menyediakan kunci penandatanganan sendiri saat ikut serta dalam penandatanganan aplikasi, Anda memiliki opsi untuk membuat kunci upload baru agar lebih aman. Jika tidak membuatnya, gunakan kunci penandatanganan aplikasi sebagai kunci upload Anda untuk menandatangani rilis.
Sertifikat (.der atau .pem)

Sertifikat yang berisi kunci publik dan informasi identifikasi tambahan tentang siapa yang memiliki kunci tersebut. Sertifikat kunci publik memungkinkan siapa saja untuk memverifikasi siapa yang menandatangani app bundle atau APK, dan Anda dapat membagikannya dengan siapa pun karena kunci pribadi Anda tidak ada di dalamnya.

Untuk mendaftarkan kunci dengan penyedia API, Anda dapat mendownload kunci upload dan sertifikat publik untuk kunci penandatanganan aplikasi Anda dari halaman Penandatanganan aplikasi di Konsol Play. Sertifikat kunci umum dapat dibagikan dengan siapa pun. Kunci pribadi Anda tidak ada di dalamnya.

Sidik jari sertifikat

Representasi singkat dan unik dari sertifikat yang sering diminta oleh penyedia API bersama dengan nama paket untuk mendaftarkan aplikasi agar dapat menggunakan layanan mereka.

Sidik jari MD5, SHA-1, dan SHA-256 dari sertifikat upload dan penandatanganan aplikasi dapat ditemukan di halaman Penandatanganan aplikasi di Konsol Play. Sidik jari lainnya juga dapat dikomputasi dengan mendownload sertifikat asli (.der) dari halaman yang sama.

Keystore Java (.jks atau .keystore) Repositori sertifikat keamanan dan kunci pribadi.
Fitur kunci pribadi enkripsi Play (PEPK)

Fitur untuk mengekspor kunci pribadi dari keystore Java dan mengenkripsinya untuk ditransfer ke Google Play.

Saat Anda menyediakan kunci penandatanganan aplikasi untuk digunakan oleh Google, pilih opsi untuk mengekspor dan mengupload kunci Anda (dan sertifikat publiknya jika diperlukan), lalu ikuti instruksi untuk mendownload dan menggunakan fitur ini. Atau, Anda dapat mendownload, meninjau, dan menggunakan kode open source fitur PEPK.

Proses penandatanganan aplikasi

Anda dapat mengupload APK yang ditandatangani dengan kunci penandatanganan aplikasi asli sebelum atau setelah Anda ikut serta dalam penandatanganan aplikasi oleh Google Play.

Jika Anda mulai menggunakan Android App Bundle, Anda dapat mengujinya di track pengujian sambil menggunakan APK yang ada di versi produksi. Berikut cara kerja proses tersebut:

  1. Tanda tangani app bundle atau APK, lalu upload ke Konsol Play Anda.
  2. Bergantung pada apa yang Anda upload, inilah perbedaan proses penandatanganan:
    • App bundle: Google membuat APK yang dioptimalkan dari app bundle Anda dan menandatanganinya dengan kunci penandatanganan aplikasi.
    • APK ditandatangani dengan kunci upload: Google memverifikasi dan menghapus tanda tangan Anda dari APK, lalu menandatangani APK kembali dengan kunci penandatanganan aplikasi.
    • APK ditandatangani dengan kunci penandatanganan aplikasi: Google memverifikasi tanda tangan.
  3. Google mengirimkan APK yang ditandatangani kepada pengguna.

Ikut serta dalam penandatanganan aplikasi oleh Google Play

Aplikasi baru

Langkah 1: Buat kunci upload

  1. Dengan mengikuti petunjuknya, buat kunci upload.
  2. Tanda tangani APK baru dengan kunci upload.

Langkah 2: Siapkan rilis

  1. Ikuti instruksi untuk mempersiapkan dan meluncurkan rilis Anda.
  2. Setelah memilih jalur rilis, konfigurasikan penandatanganan aplikasi di bawah bagian "Izinkan Google mengelola dan melindungi kunci penandatanganan aplikasi".
  3. Pilih Lanjutkan, maka kemudian kunci yang dihasilkan menjadi kunci upload yang dapat Anda gunakan untuk menandatangani rilis mendatang, atau pilih Opsi Lanjutan, yang meliputi:
    • Menggunakan kunci yang sama dengan aplikasi lain di akun developer Anda (Opsi 2).
    • Upload kunci penandatanganan aplikasi yang sudah ada (Opsi 2, 3, dan 4): Pilih opsi ekspor dan upload yang paling cocok untuk Anda. Setelah mengupload kunci penandatanganan aplikasi dan sertifikat publiknya, Anda dapat membuat kunci upload atau terus menggunakan kunci penandatanganan aplikasi sebagai kunci upload Anda.

Catatan: Anda harus menerima Persyaratan Layanan dan ikut serta ke penandatanganan aplikasi untuk melanjutkan.

Langkah 3: Daftarkan kunci penandatanganan aplikasi Anda ke penyedia API

Jika aplikasi Anda menggunakan API, sertifikat kunci yang digunakan Google untuk menandatangani aplikasi Anda biasanya harus didaftarkan agar dapat diautentikasi menggunakan sidik jari sertifikat tersebut. Berikut cara menemukan sertifikat ini:

  1. Login ke Konsol Play.
  2. Pilih aplikasi.
  3. Dari menu sebelah kiri, pilih Pengelolaan rilis > Penandatanganan aplikasi.
  4. Salin sidik jari (MD5, SHA-1, dan SHA-256) dari sertifikat penandatanganan aplikasi Anda.
    • Jika penyedia API memerlukan jenis sidik jari yang berbeda, Anda juga dapat mendownload sertifikat asli dalam format .der dan mengonversinya melalui fitur transformasi yang diperlukan oleh penyedia API.
Aplikasi yang sudah ada

Langkah 1: Daftar ke penandatanganan aplikasi oleh Google Play

  1. Login ke Konsol Play.
  2. Pilih aplikasi.
  3. Dari menu sebelah kiri, pilih Pengelolaan rilis > Penandatanganan aplikasi.
  4. Jika Anda belum melakukannya, tinjau Persyaratan Layanan dan pilih Terima.

Langkah 2: Kirim kunci asli ke Google dan buat upload kunci

  1. Temukan kunci penandatanganan aplikasi asli Anda.
  2. Login ke Konsol Play.
  3. Pilih aplikasi.
  4. Dari menu sebelah kiri, pilih Pengelolaan rilis > Penandatanganan aplikasi.
  5. Pilih opsi ekspor dan upload yang paling sesuai dengan proses rilis Anda dan upload kunci penandatanganan aplikasi yang ada.

Langkah 3: Buat kunci upload (opsional dan direkomendasikan)

  1. Buat kunci upload lalu upload sertifikatnya ke Google Play.
    • Anda juga dapat terus menggunakan kunci penandatanganan aplikasi sebagai kunci upload Anda.
  2. Salin sidik jari (MD5, SHA-1, dan SHA-256) dari sertifikat penandatanganan aplikasi Anda.
    • Untuk tujuan pengujian, Anda mungkin perlu mendaftarkan sertifikat kunci upload dengan penyedia API menggunakan sidik jari sertifikat dan kunci penandatanganan aplikasi.

Langkah 4: Tanda tangani update aplikasi berikutnya dengan kunci upload

Saat merilis update aplikasi, Anda perlu menandatanganinya dengan kunci upload.

  • Jika Anda tidak membuat kunci upload baru: Tetap gunakan kunci penandatanganan aplikasi asli Anda untuk menandatangani rilis sebelum Anda menguploadnya ke Google Play. Jika kunci penandatanganan aplikasi hilang, Anda dapat membuat kunci upload baru dan mendaftarkannya ke Google agar tetap dapat mengupdate aplikasi.
  • Jika Anda membuat kunci upload baru: Gunakan kunci upload baru Anda untuk menandatangani rilis sebelum menguploadnya ke Google Play. Setelah menguploadnya, Google akan memeriksa kunci upload pada rilis untuk memverifikasi identitas Anda. JIKA kunci upload hilang, Anda dapat menghubungi dukungan untuk menyetel ulang.

Buat kunci upload & perbarui keystore

Agar lebih aman, Anda disarankan untuk menandatangani aplikasi dengan kunci upload yang baru, dan bukannya kunci penandatanganan aplikasi Anda.

Anda dapat membuat kunci upload saat memilih ikut serta dalam penandatanganan aplikasi oleh Google Play, atau Anda dapat membuat kunci upload nanti dengan mengunjungi Pengelolaan rilis > Penandatanganan aplikasi.

Berikut cara membuat kunci upload:

  1. Ikuti petunjuk di situs Developer Android. Simpan kunci Anda di tempat yang aman.
  2. Ekspor sertifikat untuk kunci upload ke format PEM. Ganti argumen yang digarisbawahi berikut ini:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Saat diminta selama proses rilis, upload sertifikat untuk mendaftarkannya ke Google.

Saat Anda menggunakan kunci upload:

  • Kunci upload Anda hanya terdaftar di Google untuk mengautentikasi identitas pembuat aplikasi.
  • Tanda tangan Anda dihapus dari APK yang diupload sebelum dikirim ke pengguna.
Batasan kunci upload
  • Harus berupa kunci RSA yang berukuran 2048 bit atau lebih.
  • Kunci DSA, EC, dan RSA yang kurang dari 2048 bit tidak didukung.
Perbarui keystore

Setelah membuat kunci upload, berikut adalah beberapa lokasi yang mungkin ingin Anda periksa dan perbarui:

  • Mesin lokal
  • Server dalam situs yang terkunci (ACL bervariasi)
  • Mesin Cloud (ACL bervariasi)
  • Layanan pengelolaan rahasia khusus
  • Penyimpanan (Git)

Tips

  • Jika Anda juga mendistribusikan aplikasi di luar Google Play atau berencana untuk melakukannya nanti, Anda dapat membuat kunci penandatanganan aplikasi yang ingin digunakan untuk setiap app store, kemudian menguploadnya ke Google saat Anda memilih untuk ikut serta dalam penandatanganan aplikasi oleh Google Play.
  • Untuk melindungi akun Anda, aktifkan Verifikasi 2 Langkah untuk akun yang memiliki akses ke Konsol Play.
  • Setelah memublikasikan app bundle ke track pengujian atau track produksi, Anda dapat membuka penjelajah app bundle untuk mendownload arsip ZIP yang berisi semua APK untuk perangkat tertentu. APK ini ditandatangani dengan kunci penandatanganan aplikasi, dan Anda dapat menginstal APK di arsip ZIP pada perangkat, menggunakan utilitas command line bundletool.
  • Agar lebih aman, buat kunci upload baru yang berbeda dari kunci penandatanganan aplikasi Anda.
  • Jika ingin menguji APK yang ditandatangani dengan kunci upload, Anda perlu mendaftarkan kunci upload dengan layanan atau API yang menggunakan tanda tangan aplikasi Anda untuk autentikasi (seperti Google Maps API atau SDK Facebook).
  • Jika menggunakan Google API, sebaiknya daftarkan sertifikat upload di Google Cloud Console untuk aplikasi Anda.

Kunci upload hilang atau disusupi?

Jika kunci upload pribadi hilang atau telah disusupi, Anda dapat membuat yang baru, dan kemudian meminta pemilik akun Anda untuk menghubungi dukungan untuk menyetel ulang kunci . Saat menghubungi dukungan, pastikan pemilik akun Anda melampirkan file upload_certificate.pem.

Setelah tim dukungan kami mendaftarkan kunci upload yang baru, Anda akan menerima email, kemudian Anda dapat memperbarui keystore dan mendaftarkan kunci Anda dengan penyedia API.

Penting: Menyetel ulang kunci upload tidak memengaruhi kunci penandatanganan aplikasi yang digunakan Google Play untuk menandatangani ulang APK sebelum mengirimkannya ke pengguna.

Apakah artikel ini membantu?
Bagaimana cara meningkatkannya?