키 저장소 비밀번호 변경


267

현재 알고 있어야하는 특정 비밀번호를 가진 키 저장소가 있습니다. 이제 다른 사람에게 해당 키 저장소에 대한 액세스 권한을 부여해야하므로 다음 중 하나를 수행하고 싶습니다.

1) 암호를 변경하여 다른 사람과 공유하고 서명
할 수 있도록합니다. 2) 다른 암호를 만들어서 서명 할 수 있도록합니다.

이게 가능해? 그리고 만약 그렇다면-어떻게?

답변:


489

키 저장소에는 하나의 비밀번호 만 있습니다. keytool을 사용하여 변경할 수 있습니다.

keytool -storepasswd -keystore my.keystore

키 비밀번호를 변경하려면

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

6
좋아, APK의 서명이 동일합니까? 비밀번호 만 변경됩니까? 이것이 나에게도 필요한 것입니다. 잘못된 비밀번호를 선택 했으므로 이제 비밀번호를 변경해야합니다.
Matthew Rudy

6
앱이 키 저장소로 서명되지 않았지만 인증서로 키 저장소에 보관하므로 서명이 변경되지 않습니다.
Marcin Orlowski

keyName은 별칭의 이름입니다 (예 : -alias Dipu
ılǝ

18
키 암호를 제거하려면 키 저장소와 동일한 암호를 설정해야합니다. 누군가에게 유용 할 수 있습니다. ;-)
Betlista

이것도 적용됩니까 .jks? 내 키 스토어는 Android Studio에서 생성 한

81

[어떻게 할 수 있습니까?] 비밀번호를 변경하여 다른 사람과 공유하고 서명하도록 할 수 있습니다.

keytool 사용 :

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

키 내부의 암호도 변경됩니까?
over_optimistic

4
키 스토어는 한 가지이며 암호 (복수)는 또 다른 것입니다. keytool -keypasswd -alias <KeyName> -keystore my.keystore개인 키의 암호를 변경하는 데 사용<KeyName>
Marcin Orlowski

5
keystore pass -changeit를 입력하면 오류 keytool 오류가 발생합니다. java.io.IOException : Keystore가 변경되었거나 비밀번호가 올바르지 않습니다
Dilip

@ Dipu, 같은 오류가 발생합니다. 이 문제를 해결 했습니까?
JiteshW

정확히 같은 명령을 다시 실행하여 비밀번호가 변경되었는지 (의문이있는 경우) 확인할 수 있습니다. 기존 암호를 입력하라는 메시지가 나타난 후 잘못된 암호를 입력하면 잘못된 암호를 입력했거나 파일이 변조되어 중단되었다는 메시지가 나타납니다.
ArtOfWarfare

48

키 저장소 비밀번호 변경

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

키 저장소 별명 비밀번호 변경

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

노트 :

**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
감사합니다! 포럼에서 원하고 얻은 별칭 이름을 변경하기 위해 추가하고 싶은 것이 하나 더 있습니다. keytool -changealias -keystore my.keystore -alias my_name -destalias my_new_name
Jugal Panchal

별칭 암호를 변경하는 동안 다음과 같은 결과가 나타납니다. UnrecoverableKeyException : 키를 복구 할 수 없습니다. 제안 사항이 있습니까?
Foo

@Foo 당신은 그 문제를 알아 낸 적이 있습니까? 같은 오류가 발생합니다
Ryan Newman

3
표시된 키 저장소 별명 비밀번호를 변경해도 작동하지 않습니다. <aliasname>에 새 키 비밀번호를 묻지 않습니다. 이 경우 알 수없는 <aliasname>의 기존 비밀번호를 요청합니다.
Shivaraj Patil

여전히 단계에서 키를 복구 할 수 없습니다 : <aliasname>의 새 키 비밀번호 : 아이디어가 있습니까? 난 그냥 업로드, 안드로이드 스튜디오에서 키를 생성, 내가 업데이트 뭔가 깨달았다 지금은 일을 나던 : /
Dewald 엘스

22

myalias키 저장소 내부의 키 비밀번호를 변경하려면 다음을 수행하십시오 mykeyfile.

keytool -keystore mykeyfile -keypasswd -alias myalias

"내부 키"란 무엇입니까?
IgorGanapolsky

5
내 나쁜 설명에 대해 죄송합니다. 키 저장소의 비밀번호 또는 키 저장소에 저장 한 키 중 하나의 비밀번호를 변경할 수 있습니다. 그것이 "내부 키"라는 의미입니다.
OriolJ

9

키 저장소에 다른 비밀번호를 가진 다른 키 항목이 포함 된 경우이를 변경해야하거나 아래 명령을 사용하여 키를 다른 키 저장소로 분리 할 수 ​​있습니다.

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

여기에 많은 답변이 있지만 Android Studio의 Mac에서 jks 비밀번호를 변경하려는 경우. 내가 찾을 수있는 가장 쉬운 단계는 다음과 같습니다.

1) 터미널을 열고 .jks가있는 곳으로 cd

2) keytool -storepasswd-새로운 NEWPASSWORD -keystore YOURKEYSTORE.jks

3) 현재 비밀번호를 입력하십시오


5

KeyStore Explorer 는 Java 명령 행 유틸리티 keytool 및 jarsigner를 대체하는 오픈 소스 GUI입니다. KeyStore Explorer는 직관적 인 그래픽 사용자 인터페이스를 통해 기능 등을 제공합니다.

  1. 기존 키 저장소를 엽니 다
  2. 도구-> 키 저장소 비밀번호 설정

최고의 솔루션! 터미널에 쓰는 것보다 낫습니다. 이 소프트웨어 사용-암호를 변경하고 새 키 페어를 추가 할 수있었습니다. 추천
Dan Alboteanu

4

전체 프로그래밍 방식 변경 (예 : 설치 프로그램) 및 프롬프트 없음

#!/bin/bash -eu

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

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

전체 공개 : 이전 비밀번호와 새 비밀번호는 쉘 히스토리에 저장되고 콘솔에서 볼 수 있으므로 쉘에서이 명령 행을 실행하지 않는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.