2010-12-08 20 views
18

Android yapılarını imzalamak için kullanılan şifreyi nasıl değiştirebileceğinizi (ve edersiniz) bilen var mı?Android imzalama şifresi şifresini değiştirme

Canlı bir uygulamaya sahibiz, ama imza şifresini değiştirmek istiyorum. Sorun şu ki, kullanıcılarımızı uygulamayı yeniden yüklemeye zorlamak istemiyoruz (yeni bir anahtar kullanan kullanıcılar kullanırsak yeni yapıyı orijinal uygulamaya bir güncelleme olarak yükleyemeyiz).

Android belgelerinin her yerine baktım, ancak konuyla ilgili herhangi bir şey bulamadım (yeni bir anahtar oluşturmak için ... hariç).

cevap

22

Aslında bu mümkündür: Eğer eski şifreyi varsa, key şifreyi değiştirebilirsiniz

keytool -storepasswd -keystore my.keystore 
+1

Artık düzeltmeye ihtiyacım olmasa da, tonlarca geliştirici için bir kahramansın! : D –

+0

@Thomas Vervest - bu ** NOT ** sorunuza bir cevap. Bunun en iyi yapacağı şey, üzerinde çalıştığı geliştirme yapılandırmasından sonra yapılan derlemelerde kullanılacak şifrenin değiştirilmesidir. Eski anahtarın altındaki mevcut kurulumlarla ilgili probleminize yardımcı olacak hiçbir şey yapmayacaktır. –

+0

Lütfen açıklayınız, şifreyi değiştirerek imzalama anahtarını değiştiriniz ("yeni" tuşa basmak)? –

4

Bu mümkün değil. Bu, sizi bir yazar değil orijinal yazar olarak tanımlayan imzalama anahtarıdır. "Kayıp anahtarımı nasıl kurtarabilirim" sorusu sık sık ortaya çıkıyor ve tek cevap yeni bir uygulama ile başlıyor.

Orijinal imzalama anahtarınız hala mevcutsa, programınızın kullandığı kullanıcı verilerini dışa aktararak uygulamanıza güncel bir güncelleme yayınlayabilir ve ardından yeni bir anahtarın altına alabileceğiniz yeni bir anahtarın ardından yeni bir uygulama yayınlayabilirsiniz. Verilerini saklayabilmek. Eski anahtarın altındaki taşıma güncellemeniz, kullanıcıyı yeni uygulama için pazar indirme sayfasına göndermek amacıyla da kullanılabilir.

+0

Bu durumdan korkuyordum ... Ah, sanırım sadece böyle bir şey yapmalıyız. Cevabınız için ve sorunun çevresinde nasıl çalışılacağına dair fikirleriniz için teşekkür ederiz. –

+3

@Chris Katılmıyorum. Özel anahtar, "KeyStore" adı verilen şifrelenmiş bir dosyada saklanır ve herkesin APK'ları imzalamak için kullandığı parola, özel anahtarın parolası değildir: yalnızca bu KeyStore dosyasının şifresini çözebilecek paroladır, böylece özel anahtarınıza erişebilirsiniz. . Bu parolayı biliyorsanız, özel anahtarınıza kolayca erişebilir ve KeyStore'unuz için yeni bir parola ile koruyabilirsiniz ("keytool" temelli diğer yanıtlara bakın). Ve şifreyi değiştirmek, onu yeni bir anahtar yapmaz. Yani uygulama iyi ve bu yüzden uygulama kullanıcıları. – xav

15

. Çalıştırmanız gereken şey şu komuttur:

keytool -keypasswd -alias "key_alias" -keypass "old_pass" -new "new_pass" -keystore "your_keystore_path"