[java] 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 이상에서도 잘 작동합니다.

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


답변

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

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

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


답변

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 “를 사용하여이 문제를 해결했습니다 .