Keystore mengubah kata sandi

267

Saat ini saya memiliki keystore, dengan kata sandi tertentu yang hanya harus saya ketahui. Saya sekarang perlu memberikan akses ke keystore itu kepada orang lain, jadi saya ingin:

1) Ubah kata sandi, sehingga saya dapat membagikannya dengan orang lain dan biarkan mereka masuk
2) Buat kata sandi yang berbeda dan izinkan mereka untuk menandatanganinya.

Apakah ini mungkin? dan - jika ya - bagaimana?

pengguna313724
sumber

Jawaban:

489

Keystore hanya memiliki satu kata sandi. Anda dapat mengubahnya menggunakan keytool:

keytool -storepasswd -keystore my.keystore

Untuk mengubah kata sandi kunci:

keytool -keypasswd  -alias <key_name> -keystore my.keystore
ZZ Coder
sumber
6
Hebat, jadi tanda tangan apk akan sama? Hanya kata sandi yang akan berubah? Ini yang saya butuhkan juga. Memilih kata sandi yang buruk, sekarang perlu mengubahnya.
Matthew Rudy
6
Tanda tangan tidak akan berubah, karena aplikasi TIDAK ditandatangani dengan keystore, tetapi dengan sertifikat yang Anda simpan diystore.
Marcin Orlowski
keyName adalah nama alias, mis. -alias Dipu
ılǝ
18
Untuk menghapus kata sandi untuk kunci, seseorang harus menetapkan kata sandi yang sama seperti untuk keystore, mungkin berguna bagi seseorang ;-)
Betlista
Apakah ini juga berlaku .jks? Keystore saya adalah .jks yang dihasilkan oleh Android Studio
81

[Bagaimana saya bisa] Ubah kata sandi, jadi saya bisa membagikannya dengan orang lain dan biarkan mereka masuk

Menggunakan keytool:

keytool -storepasswd -keystore /path/to/keystore
Enter keystore password:  changeit
New keystore password:  new-password
Re-enter new keystore password:  new-password
Thivent Pascal
sumber
apakah ini juga mengubah kata sandi untuk kunci di dalam?
over_optimistic
4
Tidak. Keystore adalah satu hal, kata sandi (catatan jamak) adalah hal lain. Gunakan keytool -keypasswd -alias <KeyName> -keystore my.keystoreuntuk mengubah kata sandi kunci pribadi<KeyName>
Marcin Orlowski
5
setelah memasukkan keystore pass -changeit itu memberikan kesalahan keytool error: java.io.IOException: Keystore dirusak, atau kata sandi salah
Dilip
@ Dipu, saya mendapatkan kesalahan yang sama. Apakah Anda berhasil mengatasinya
JiteshW
Anda dapat memverifikasi bahwa kata sandi telah berubah (jika Anda ragu) dengan menjalankan perintah yang sama persis lagi. Setelah itu meminta kata sandi yang ada, jika Anda memasukkan kata sandi yang salah, itu akan mengatakan Anda memasukkan kata sandi yang salah atau file telah dirusak dan dibatalkan.
ArtOfWarfare
48

Mengubah kata sandi keystore

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

Mengubah kata sandi alias keystore

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

catatan:

**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
pengguna98239820
sumber
1
Berhasil terima kasih! Satu hal lagi yang ingin saya tambahkan untuk mengubah nama alias yang saya inginkan dan dapatkan dari forum. keytool -changealias -keystore my.keystore -alias my_name -destalias my_new_name
Jugal Panchal
Saat mengubah kata sandi alias saya mendapatkan: UnrecoverableKeyException: Tidak dapat memulihkan kunci Ada saran?
Foo
@Foo apakah Anda pernah menemukan masalah itu? Saya mendapatkan kesalahan yang sama
Ryan Newman
3
Mengubah kata sandi alias keystore apa yang pernah Anda tampilkan tidak berfungsi, Itu tidak akan meminta kata sandi kunci baru untuk <aliasname>. Ia meminta kata sandi yang ada untuk <aliasname> yang tidak dikenal dalam kasus ini.
Shivaraj Patil
Saya masih mendapatkan kunci Tidak dapat memulihkan di langkah: Kata sandi kunci baru untuk <aliasname>: Ada ide? Saya baru saja membuat kunci di Android Studio, diunggah, menyadari saya harus memperbarui sesuatu dan sekarang tidak berfungsi: /
Dewald Els
22

Untuk mengubah kata sandi untuk kunci myaliasdi dalam keystore mykeyfile:

keytool -keystore mykeyfile -keypasswd -alias myalias
OriolJ
sumber
Apa itu "kunci dalam"?
IgorGanapolsky
5
Maaf untuk penjelasan saya yang buruk. Anda dapat mengubah kata sandi keystore atau kata sandi salah satu kunci yang Anda simpan di keystore. Itulah yang saya maksud dengan "kunci dalam".
OriolJ
9

Jika keystore berisi entri-entri kunci lain dengan kata sandi berbeda, Anda juga harus mengubahnya atau Anda dapat mengisolasi kunci Anda ke keystore lain menggunakan perintah di bawah ini,

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

Ada begitu banyak jawaban di sini, tetapi jika Anda mencoba mengubah kata sandi jks pada Mac di Android Studio. Inilah langkah-langkah termudah yang bisa saya temukan

1) Buka Terminal dan cd ke tempat .jks Anda berada

2) keytool -storepasswd -baru NEWPASSWORD -keystore YOURKEYSTORE.jks

3) masukkan kata sandi Anda saat ini

whyoz
sumber
5

KeyStore Explorer adalah pengganti GUI open source untuk utilitas baris perintah Java keytool dan jarsigner. KeyStore Explorer menyajikan fungsionalitasnya, dan lebih banyak lagi, melalui antarmuka pengguna grafis yang intuitif.

  1. Buka KeyStore yang ada
  2. Alat -> Tetapkan kata sandi KeyStore
Rafael Membrives
sumber
solusi terbaik! Lebih baik daripada menulis ke terminal. Menggunakan perangkat lunak ini - Saya dapat mengubah kata sandi dan menambahkan pasangan kunci baru. Sangat merekomendasikan
Dan Alboteanu
4

Untuk perubahan program penuh (mis. Instal program) dan tidak ada bisikan

#!/bin/bash -eu

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

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

Pengungkapan penuh: Saya TIDAK merekomendasikan menjalankan baris perintah ini di shell, karena kata sandi lama dan baru akan disimpan dalam sejarah shell, dan terlihat di konsol.

Alexander Pogrebnyak
sumber