Anahtar deposu değiştirme şifreleri


267

Şu anda sadece bilmem gereken belirli bir şifre ile bir anahtar depom var. Şimdi başka birine bu anahtar deposuna erişim vermek gerekiyor, bu yüzden ya da istiyorum:

1) Şifreyi değiştirin, böylece başkalarıyla paylaşabilirim ve imzalamalarına izin verebilirim
2) Farklı bir şifre oluşturun ve onunla imzalamalarına izin verin.

Mümkün mü? ve - evet ise - nasıl?

Yanıtlar:


489

Anahtar deposunun yalnızca bir parolası vardır. Tuş takımını kullanarak değiştirebilirsiniz:

keytool -storepasswd -keystore my.keystore

Anahtarın şifresini değiştirmek için:

keytool -keypasswd  -alias <key_name> -keystore my.keystore

6
Harika, yani apk'nin imzası aynı mı olacak? Sadece şifre değişecek mi? Ben de buna ihtiyacım var. Kötü bir şifre seçin, şimdi değiştirmeniz gerekiyor.
Matthew Rudy

6
Uygulama anahtar deposuyla imzalanmadığı için imza değişmez, ancak sertifika ile anahtar deposunda kalırsınız.
Marcin Orlowski

keyName, takma adın adıdır, örn. -alias Dipu
ılǝ

18
Anahtar şifresini kaldırmak için, anahtar deposuyla aynı şifreyi ayarlamak gerekir, birisi için yararlı olabilir ;-)
Betlista

Bu da geçerli .jksmi? Anahtar depom, Android Studio tarafından oluşturulmuştur .jks

81

[Nasıl yapabilirim] Şifreyi değiştirin, böylece başkalarıyla paylaşabilirim ve imzalamalarına izin verebilirim

Tuş takımını kullanma:

keytool -storepasswd -keystore /path/to/keystore
Enter keystore password:  changeit
New keystore password:  new-password
Re-enter new keystore password:  new-password

bu anahtarın şifresini de değiştiriyor mu?
over_optimistic

4
Hayır. Anahtar deposu bir şeydir, şifreler (not çoğul) başka bir şeydir. keytool -keypasswd -alias <KeyName> -keystore my.keystoreÖzel anahtarın parolasını değiştirmek için kullanın<KeyName>
Marcin Orlowski

5
java.io.IOException: Keystore tahrif edilmiş veya şifre yanlış oldu sonra anahtar deposu -changeit geçmesi girmek o hata keytool hata veriyor
Dilip

@Dipu, aynı hatayı alıyorum. Bunu
çözmeyi

Aynı komutu tekrar çalıştırarak parolanın değiştiğini (şüpheniz varsa) doğrulayabilirsiniz. Varolan parolayı sorduktan sonra, yanlış bir parola girerseniz, yanlış parolayı girdiğinizi veya dosyanın kurcalandığını ve iptal edildiğini söyler.
ArtOfWarfare

48

Anahtar deposu şifresini değiştirme

$ keytool -storepasswd -keystore keystorename
Enter keystore password:  <old password>
New keystore password: <new password>
Re-enter new keystore password: <new password>

Anahtar deposu takma adı şifresini değiştirme

$keytool -keypasswd -keystore keystorename -alias aliasname
Enter keystore password:  
New key password for <aliasname>: 
Re-enter new key password for <aliasname>:

Not:

**Keystorename**: name of your keystore(with path if you are indifferent folder) 
**aliasname**: alias name you used when creating (if name has space you can use \) 
for example: $keytool -keypasswd -keystore keystorename -alias stop\ watch

1
Çalışıyor teşekkür ederim! Bir forumdan istediğim ve aldığım takma adı değiştirmek için eklemek istediğim bir şey daha. keytool -changealias -keystore my.keystore -alias my_name -destalias my_new_name
Jugal

Takma ad parolasını değiştirirken şunu alıyorum: UnrecoverableKeyException: Anahtar kurtarılamıyor Herhangi bir öneriniz var mı?
Foo

@ Hiç bu sorunu çözdün mü? Aynı hatayı alıyorum
Ryan Newman

3
Gösterdiğiniz anahtar deposu takma adı parolasını değiştirmek işe yaramaz, <aliasname> için Yeni anahtar parolası sormaz. Bu durumda bilinmeyen mevcut <aliasname> şifresini ister.
Shivaraj Patil

Adımda hala anahtar kurtarılamıyor: <aliasname> için yeni anahtar parolası: Herhangi bir fikir var mı? Sadece Android Studio'da anahtarı oluşturdum, yükledim, bir şeyi güncellemek zorunda olduğumu fark ettim ve şimdi çalışmıyor: /
Dewald Els

22

myaliasAnahtar deposunun içindeki bir anahtarın parolasını değiştirmek için mykeyfile:

keytool -keystore mykeyfile -keypasswd -alias myalias

"İç anahtar" nedir?
IgorGanapolsky

5
Kötü açıklamam için özür dilerim. Anahtar deposunun parolasını veya anahtar deposunda sakladığınız anahtarlardan birinin parolasını değiştirebilirsiniz. "İç anahtar" ile kastettiğim bu.
OriolJ

9

Anahtar deposu farklı parolalara sahip başka anahtar girişleri içeriyorsa, bunları da değiştirmeniz gerekir veya aşağıdaki komutu kullanarak anahtarınızı farklı anahtar deposuna ayırabilirsiniz,

keytool -importkeystore  -srckeystore mystore.jck -destkeystore myotherstore.jks -srcstoretype jceks
-deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey
-destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass

7

Burada çok fazla cevap var, ancak Android Studio'da bir Mac'te jks şifresini değiştirmeye çalışıyorsanız. İşte bulabildiğim en kolay adımlar

1) Terminali açın ve .jks'inizin bulunduğu yere cd koyun

2) keytool -storepasswd -yeni NEWPASSWORD -anahtar deposu YOURKEYSTORE.jks

3) mevcut şifrenizi girin


5

KeyStore Explorer , Java komut satırı yardımcı programları keytool ve jarsigner için açık kaynaklı bir GUI değiştirme aracıdır. KeyStore Explorer, sezgisel bir grafik kullanıcı arabirimi aracılığıyla işlevlerini ve daha fazlasını sunar.

  1. Mevcut bir KeyStore'u açın
  2. Araçlar -> KeyStore şifresini ayarlama

en iyi çözüm! Terminale yazmaktan daha iyi. Bu yazılımı kullanarak - Şifreleri değiştirebildim ve yeni anahtar çiftleri ekledim. Tavsiye ederim
Dan Alboteanu

4

Tam bir programatik değişiklik için (örn. Yükleme programı)

#!/bin/bash -eu

NEWPASSWORD=${1}
OLDPASSWORD=${2}

keytool -storepasswd -new "${NEWPASSWORD}" \
  -storepass "${OLDPASSWORD}" \
  -keystore /path/to/keystore

Tam açıklama: Eski ve yeni şifreler kabuğun geçmişinde kaydedileceği ve konsolda görülebileceği için bu komut satırının bir kabukta çalıştırılmasını önermiyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.