Programing

keytool error 키 저장소가 변조되었거나 비밀번호가 올바르지 않습니다

crosscheck 2020. 6. 1. 07:54
반응형

keytool error 키 저장소가 변조되었거나 비밀번호가 올바르지 않습니다


로컬 컴퓨터에서 인증서를 생성하는 동안 다음 오류가 발생합니다.

C:\Users\abc>keytool -genkey -alias tomcat -keyalg RSA
Enter keystore password:
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect

jdk 버전에 몇 가지 문제가 있다고 생각합니다. 내 동료 컴퓨터에서 동일한 명령을 실행했는데 정상적으로 작동합니다.

입력을 공유하십시오.


귀하의 설명에서 나는 당신이 Windows 컴퓨터에 있고 가정은 ABC라고 가정합니다.

그래서 지금 : 원인

이 명령을 실행할 때

keytool -genkey -alias tomcat -keyalg RSA

명시 적 키 저장소를 지정하지 않기 때문에 키 저장소를 생성하려고 시도합니다 (귀하의 경우 예외로 업데이트하기 위해). 키 C:\users\abc>.keystore버전을 제공한다고 생각하는 동안 .keystore에 대한 이전 비밀번호를 제공해야합니다. 새로운).

해결책

  1. 위치 .keystore에서 삭제 C:\users\abc>하고 명령을 시도하십시오.

  2. 또는 새로운 xyzkeystore를 생성하는 다음 명령을 시도하십시오.

    keytool -genkey -keystore xyzkeystore -alias tomcat -keyalg RSA

참고 : -genkey 이제는 오래 -genkeypair되었지만 둘 다 똑같이 작동합니다.


cacerts 키 저장소의 기본 비밀번호를 사용하여 해결했습니다. 'changeit'


이 답변은 새로운 Mac 사용자에게 유용합니다 (Linux 용, Windows 7 64 비트도 가능).

비어있는 암호가 내 Mac에서 작동했습니다. (아래 줄을 터미널에 붙여 넣으십시오)

keytool -list -v -keystore ~/.android/debug.keystore

그것을 요구할 때

Enter keystore password:  

그냥 Enter 버튼을 누르십시오 (아무것도 입력하지 마십시오). 작동해야합니다.

debug.keystore프로젝트 기반 키 저장소 파일이 아니라 기본 파일 인지 확인하십시오 (암호가 변경 될 수 있음).

MacOS Sierra 10.10 이상에서도 잘 작동합니다.

나는 그것이 리눅스 환경에서도 작동한다고 들었다. 나는 아직 리눅스에서 그것을 테스트하지 않았습니다.


Tomcat 8.5에서는 올바른 속성 이름을 작성하도록주의하십시오. 이것은 server.xml의 코드입니다.

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true">
    <SSLHostConfig>
        <Certificate certificateKeystoreFile="conf/keystore" certificateKeystorePassword="mypassword" type="RSA"/>
    </SSLHostConfig>
</Connector>

https://tomcat.apache.org/tomcat-8.5-doc/config/http.html방문 하여 모든 속성을 볼 수 있습니다


비밀번호에 changeit을 사용하는 것도 중요합니다.

이 명령은 마침내 부두와 함께 나를 위해 일했습니다.

 keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 360 -keysize 2048

Windows에서 작동

명령 프롬프트를 엽니 다 (Windows 키 + R을 누른 다음 나타나는 대화 상자에 따옴표없이 "cmd"를 입력 한 다음 Enter 키를 누름).

그런 다음 아래 코드 스 니프를 입력하십시오.

  1. cd C : \ Program Files \ Java \ jdk1.7.0_25 \ bin

그런 다음 다음 명령을 입력하십시오

  1. keytool -list -keystore "C : / 문서 및 설정 / 사용자 이름 /.android/debug.keystore"

그런 다음 키 저장소 비밀번호를 요청합니다. 기본 비밀번호는 "android"유형이며 "DONT TYPE ANY PASSWORD"를 입력하거나 Enter 키를 누르십시오.


홈 폴더를 확인하십시오 ~/.gradle/gradle.properties. 때로는 gradle.properties홈 디렉토리에 있으면 거기에서 세부 사항을 가져옵니다. 변경하거나 파일을 삭제할 수 있습니다. 그런 다음 로컬 폴더에서 필요한 세부 정보를 가져옵니다.


기본 비밀번호 " changeit "를 사용하여이 문제를 해결했습니다 .


이 페이지의 조언을 요약하면 다음과 같이 마무리되었습니다.

keytool -genkeypair -keystore ~/.android/release.keystore -alias <my_alias> -storepass <my_cert_pass> -keyalg RSA

그런 다음 별칭의 이름, 조직, 위치 및 비밀번호에 관한 일련의 질문을 받았습니다.


키 도구 오류 : java.io.IOException : 키 저장소가 변조되었거나 비밀번호가 올바르지 않습니다.

키 저장소 경로 C : \ MyWorks \ mykeystoreC : \ MyWorks \ mykeystore.keystore로 변경했을 때 문제가 해결되었습니다 .


제 경우에는 root액세스 권한 이 필요했습니다 .


I fixed this issue by deleting the output file and running the command again. It turns out it does NOT overwrite the previous file. I had this issue when renewing a let's encrypt cert with tomcat


 [root@localhost Certificate]# openssl pkcs12 -export -in 
 /opt/Certificate/115c99f4c5aa98f5.crt -inkey /opt/Certificate/ravi.in.key -certfile 
/opt/Certificate/gd_bundle-g2-g1.crt -out RaviNew.p12

Enter Export Password: <Password>
Verifying - Enter Export Password: <Password>

Note :- Above Export Pasworrd write down anywhere because it is must to create JKS file ( It is depend on your choice what password you want to make )

  keytool -importkeystore -srckeystore DigiEduNew.p12 -srcstoretype pkcs12 -destkeystore finaldigiEdu.jks -deststoretype JKS
  Importing keystore DigiEduNew.p12 to finaldigiEdu.jks...
  Enter destination keystore password: <Any Password >
  Re-enter new password: <Any Password >
  Enter source keystore password: <.P12 Password >
  Entry for alias 1 successfully imported.
  Import command completed:  1 entries successfully imported, 0 entries failed or 
  cancelled



 Warning:
 The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 
 which is an industry standard format using "keytool -importkeystore -srckeystore 
 finaldigiEdu.jks -destkeystore finaldigiEdu.jks -deststoretype pkcs12".

For me I solved it by changing passwords from Arabic letter to English letter, but first I went to the folder and deleted the generated key then it works.


The default password for the debug keystore is android.

enter image description here

참고URL : https://stackoverflow.com/questions/16891182/keytool-error-keystore-was-tampered-with-or-password-was-incorrect

반응형