El archivo de almacén de claves generado por Keytool almacena pares de claves públicas y privadas. Cada par o entrada almacenada en el almacén de claves tiene un alias exclusivo. En breve:
Entrada del almacén de claves = par de claves pública + privada = identificado por un alias
El almacén de claves protege cada clave privada con su contraseña individual y también protege la integridad de todo el almacén de claves con una contraseña (posiblemente diferente).
Por ejemplo, cuando firma una aplicación de Android utilizando la opción Exportar paquete de aplicación firmada de la herramienta de Android Eclipse, se le pide que primero seleccione un almacén de claves y luego que seleccione un solo alias / entrada / par de ese almacén de claves. Después de proporcionar las contraseñas tanto para el almacén de claves como para el alias elegido, la aplicación se firma y la clave pública (el certificado) para ese alias se incrusta en el APK.
Ahora, para responder a su pregunta, solo puede lanzar una actualización para una aplicación que se firmó con el alias 'foo' firmando la actualización nuevamente con el mismo alias. La pérdida del almacén de claves donde se almacena su alias le impediría lanzar una versión actualizada de su aplicación.
Sin embargo, existe una forma de firmar una aplicación con un nuevo alias, pero implica clonar un alias existente en el almacén de claves usando keytool -keyclone :
Crea una nueva entrada del almacén de claves, que tiene la misma clave privada y cadena de certificados que la entrada original.
La entrada original se identifica con un alias (que por defecto es "mykey" si no se proporciona). La nueva entrada (destino) se identifica mediante dest_alias. Si no se proporciona un alias de destino en la línea de comando, se le solicita al usuario.
Si la contraseña de la clave privada es diferente de la contraseña del almacén de claves, la entrada solo se clonará si se proporciona una clave válida. Esta es la contraseña que se utiliza para proteger la clave privada asociada con el alias. Si no se proporciona una contraseña de clave en la línea de comandos y la contraseña de clave privada es diferente de la contraseña del almacén de claves, se le solicita al usuario. La clave privada de la entrada clonada puede protegerse con una contraseña diferente, si lo desea. Si no se proporciona la opción -new en la línea de comando, se solicita al usuario la contraseña de la nueva entrada (y puede optar por dejar que sea la misma que para la clave privada de la entrada clonada).
Más información:
http://download.oracle.com/javase/1.5.0/docs/tooldocs/solaris/keytool.html
http://developer.android.com/guide/publishing/app-signing.html