File keystore yang dibuat oleh Keytool menyimpan pasangan kunci pribadi dan publik. Setiap pasangan atau entri yang disimpan di keystore direferensikan dengan alias unik. Secara singkat:
Entri Keystore = private + pasangan kunci publik = diidentifikasi dengan alias
Keystore melindungi setiap kunci pribadi dengan sandi individualnya, dan juga melindungi integritas seluruh keystore dengan sandi (yang mungkin berbeda).
Misalnya, saat Anda menandatangani aplikasi Android menggunakan opsi Ekspor Paket Aplikasi yang Ditandatangani dari alat Android Eclipse, Anda akan diminta untuk memilih keystore terlebih dahulu, lalu diminta untuk memilih satu alias / entri / pasangan dari keystore tersebut. Setelah memberikan sandi untuk keystore dan alias yang dipilih, aplikasi ditandatangani dan kunci publik (sertifikat) untuk alias tersebut disematkan ke dalam APK.
Sekarang untuk menjawab pertanyaan Anda, Anda hanya dapat merilis pembaruan untuk aplikasi yang ditandatangani dengan alias 'foo' dengan menandatangani pembaruan lagi dengan alias yang sama. Kehilangan keystore tempat alias disimpan akan mencegah Anda merilis versi terbaru dari aplikasi Anda.
Namun ada cara untuk menandatangani aplikasi dengan alias baru, tetapi ini melibatkan penggandaan alias yang ada di keystore menggunakan keytool -keyclone :
Membuat entri keystore baru, yang memiliki kunci pribadi dan rantai sertifikat yang sama dengan entri asli.
Entri asli diidentifikasi dengan alias (yang defaultnya ke "mykey" jika tidak disediakan). Entri baru (tujuan) diidentifikasi oleh dest_alias. Jika tidak ada alias tujuan yang diberikan pada baris perintah, pengguna akan diminta untuk itu.
Jika kata sandi kunci pribadi berbeda dari kata sandi keystore, maka entri hanya akan digandakan jika keypass yang valid diberikan. Ini adalah kata sandi yang digunakan untuk melindungi kunci pribadi yang terkait dengan alias. Jika tidak ada kata sandi kunci yang diberikan pada baris perintah, dan kata sandi kunci privat berbeda dari kata sandi keystore, pengguna akan diminta untuk memasukkannya. Kunci pribadi dalam entri kloning mungkin dilindungi dengan kata sandi yang berbeda, jika diinginkan. Jika tidak ada opsi -new yang diberikan pada baris perintah, pengguna diminta memasukkan kata sandi entri baru (dan dapat memilih untuk membiarkannya sama dengan kunci pribadi entri kloning).
Informasi lebih lanjut:
http://download.oracle.com/javase/1.5.0/docs/tooldocs/solaris/keytool.html
http://developer.android.com/guide/publishing/app-signing.html