Plik kluczy wygenerowany przez Keytool przechowuje pary kluczy prywatnych i publicznych. Każda para lub pozycja przechowywana w magazynie kluczy ma przypisany unikalny alias. W skrócie:
Wpis w magazynie kluczy = para kluczy prywatny + publiczny = identyfikowany przez alias
Magazyn kluczy chroni każdy klucz prywatny za pomocą jego indywidualnego hasła, a także chroni integralność całego magazynu kluczy za pomocą (prawdopodobnie innego) hasła.
Na przykład, gdy podpisujesz aplikację na Androida za pomocą opcji Eksportuj podpisany pakiet aplikacji narzędzia Eclipse Android, zostaniesz poproszony o wybranie magazynu kluczy, a następnie o wybranie pojedynczego aliasu / wpisu / pary z tego magazynu kluczy. Po podaniu haseł do magazynu kluczy i wybranego aliasu aplikacja jest podpisywana, a klucz publiczny (certyfikat) dla tego aliasu jest osadzany w pliku APK.
Teraz, aby odpowiedzieć na Twoje pytanie, możesz zwolnić aktualizację tylko do aplikacji, która została podpisana aliasem „foo”, podpisując ją ponownie tym samym aliasem. Utrata magazynu kluczy, w którym przechowywany jest Twój alias, uniemożliwiłaby wydanie zaktualizowanej wersji aplikacji.
Istnieje jednak sposób na podpisanie aplikacji nowym aliasem, ale wymaga to sklonowania istniejącego aliasu w magazynie kluczy za pomocą narzędzia keytool -keyclone :
Tworzy nowy wpis magazynu kluczy, który ma ten sam klucz prywatny i łańcuch certyfikatów, co oryginalny wpis.
Oryginalny wpis jest identyfikowany przez alias (domyślnie „mykey”, jeśli nie zostanie podany). Nowy (docelowy) wpis jest identyfikowany przez alias_doc. Jeśli w wierszu poleceń nie zostanie podany żaden alias docelowy, użytkownik zostanie o to poproszony.
Jeśli hasło klucza prywatnego różni się od hasła do magazynu kluczy, wpis zostanie sklonowany tylko wtedy, gdy zostanie podana poprawna hasło. To jest hasło używane do ochrony klucza prywatnego skojarzonego z aliasem. Jeśli hasło klucza nie jest podane w wierszu poleceń, a hasło klucza prywatnego różni się od hasła magazynu kluczy, użytkownik jest o to monitowany. W razie potrzeby klucz prywatny w sklonowanej pozycji może być chroniony innym hasłem. Jeśli w wierszu poleceń nie podano opcji -new, użytkownik jest proszony o podanie hasła nowego wpisu (i może wybrać, czy będzie ono takie samo, jak w przypadku klucza prywatnego sklonowanego wpisu).
Więcej informacji:
http://download.oracle.com/javase/1.5.0/docs/tooldocs/solaris/keytool.html
http://developer.android.com/guide/publishing/app-signing.html