Ini adalah pertanyaan umum, tetapi khususnya saya tertarik menggunakannya untuk Android. Apa itu file keystore, dan untuk apa file itu digunakan?
Bisakah beberapa aplikasi Android menggunakan keystore yang sama untuk menandatangani aplikasi mereka (apa sebenarnya artinya "menandatangani" .apk?), Dan apa implikasinya (jika ada) dari ini?
Jawaban:
Jawaban yang akan saya berikan adalah file keystore adalah untuk mengotentikasi diri Anda kepada siapa pun yang bertanya. Ini tidak terbatas hanya pada penandatanganan file .apk, Anda dapat menggunakannya untuk menyimpan sertifikat pribadi, menandatangani data yang akan dikirim, dan berbagai macam otentikasi.
Dalam hal apa yang Anda lakukan dengannya untuk Android dan mungkin apa yang Anda cari sejak Anda menyebutkan untuk menandatangani apk, itu adalah sertifikat Anda. Anda menandai aplikasi Anda dengan kredensial Anda. Anda dapat memberi merek beberapa aplikasi dengan kunci yang sama, pada kenyataannya, disarankan agar Anda menggunakan satu sertifikat untuk memberi merek beberapa aplikasi yang Anda tulis. Lebih mudah untuk melacak aplikasi apa yang menjadi milik Anda.
Saya tidak yakin apa yang Anda maksudkan dengan implikasi. Saya kira itu berarti tidak ada seorang pun selain pemegang sertifikat Anda yang dapat memperbarui aplikasi Anda. Itu berarti bahwa jika Anda melepaskannya ke alam liar, kehilangan sertifikat yang Anda gunakan untuk menandatangani aplikasi, maka Anda tidak dapat merilis pembaruan, jadi simpan sertifikat itu agar aman dan dicadangkan jika perlu.
Tapi selain menandatangani apks untuk dirilis ke dalam, Anda dapat menggunakannya untuk mengotentikasi perangkat Anda ke server melalui SSL jika Anda menginginkannya, (juga terkait Android) di antara fungsi-fungsi lainnya.
sumber
Android Market mengharuskan Anda untuk menandatangani semua aplikasi yang Anda terbitkan dengan sertifikat, menggunakan mekanisme kunci publik / pribadi (sertifikat ditandatangani dengan kunci pribadi Anda). Ini memberikan lapisan keamanan yang mencegah, antara lain, penyerang jarak jauh dari mendorong pembaruan berbahaya ke aplikasi Anda ke pasar (semua pembaruan harus ditandatangani dengan kunci yang sama).
Dari Panduan Penandatanganan Aplikasi situs Pengembang Android:
Menggunakan kunci yang sama memiliki beberapa manfaat - Salah satunya adalah lebih mudah untuk berbagi data antara aplikasi yang ditandatangani dengan kunci yang sama. Lain adalah bahwa hal itu memungkinkan beberapa aplikasi ditandatangani dengan kunci yang sama untuk berjalan dalam proses yang sama, sehingga pengembang dapat membangun lebih banyak aplikasi "modular".
sumber
Anda dapat menemukan informasi lebih lanjut tentang proses penandatanganan pada dokumentasi Android resmi di sini: http://developer.android.com/guide/publishing/app-signing.html
Ya, Anda dapat menandatangani beberapa aplikasi dengan keystore yang sama. Tetapi Anda harus mengingat satu hal penting: jika Anda menerbitkan aplikasi di Play Store, Anda harus menandatanganinya dengan sertifikat non debug. Dan jika suatu hari Anda ingin mempublikasikan pembaruan untuk aplikasi ini, keystore yang digunakan untuk menandatangani apk harus sama. Jika tidak, Anda tidak akan dapat memposting pembaruan Anda.
sumber
Seluruh ide keytool adalah untuk menandatangani apk Anda dengan pengidentifikasi unik yang menunjukkan sumber apk itu. File keystore (dari apa yang saya mengerti) digunakan untuk debug sehingga apk Anda memiliki fungsi keytool tanpa menandatangani apk Anda untuk produksi. Jadi ya, untuk keperluan debugging Anda harus dapat masuk beberapa apk dengan satu keystore. Tapi pahamilah bahwa, setelah mendorong produksi Anda akan memerlukan keytools unik sebagai pengidentifikasi untuk setiap apk yang Anda buat.
sumber
keytool
apa yang Anda maksudkan. keytool adalah program java yang digunakan untuk menghasilkan keystores.