O arquivo de armazenamento de chaves gerado pelo Keytool armazena pares de chaves privadas e públicas. Cada par ou entrada armazenado no keystore é referenciado por um alias exclusivo. Em resumo:
Entrada de armazenamento de chaves = par de chaves privadas + públicas = identificada por um alias
O keystore protege cada chave privada com sua senha individual e também protege a integridade de todo o keystore com uma senha (possivelmente diferente).
Por exemplo, ao assinar um aplicativo Android usando a opção Export Signed Application Package da ferramenta Eclipse Android, é solicitado que você selecione um keystore primeiro e, em seguida, selecione um único alias / entrada / par desse keystore. Depois de fornecer as senhas para o armazenamento de chaves e o alias escolhido, o aplicativo é assinado e a chave pública (o certificado) para esse alias é incorporada ao APK.
Agora, para responder à sua pergunta, você só pode lançar uma atualização para um aplicativo que foi assinado com o alias 'foo' assinando a atualização novamente com o mesmo alias. Perder o keystore onde seu alias está armazenado evitaria que você lançasse uma versão atualizada de seu aplicativo.
No entanto, há uma maneira de assinar um aplicativo com um novo alias, mas envolve a clonagem de um alias existente no keystore usando keytool -keyclone :
Cria uma nova entrada de armazenamento de chaves, que possui a mesma chave privada e cadeia de certificados da entrada original.
A entrada original é identificada pelo alias (cujo padrão é "mykey" se não for fornecido). A nova entrada (destino) é identificada por dest_alias. Se nenhum alias de destino for fornecido na linha de comando, o usuário será solicitado a fazê-lo.
Se a senha da chave privada for diferente da senha do keystore, a entrada só será clonada se um keypass válido for fornecido. Esta é a senha usada para proteger a chave privada associada ao alias. Se nenhuma senha de chave for fornecida na linha de comandos e a senha da chave privada for diferente da senha do keystore, o usuário será solicitado a fazê-lo. A chave privada na entrada clonada pode ser protegida com uma senha diferente, se desejado. Se nenhuma opção -new for fornecida na linha de comando, o usuário é solicitado a fornecer a senha da nova entrada (e pode optar por deixá-la ser a mesma da chave privada da entrada clonada).
Mais Informações:
http://download.oracle.com/javase/1.5.0/docs/tooldocs/solaris/keytool.html
http://developer.android.com/guide/publishing/app-signing.html