2013-06-03 69 views
113

Tôi nhận được lỗi sau khi tạo chứng chỉ trên máy cục bộ của mình.keytool lỗi Keystore bị giả mạo hoặc mật khẩu không chính xác

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 

Tôi nghĩ rằng có một số vấn đề trong phiên bản jdk.I chạy lệnh tương tự trên máy của đại học và nó hoạt động tốt.

Vui lòng chia sẻ thông tin nhập của bạn.

+0

bạn có cung cấp mật khẩu chính xác không? và chạy lệnh từ thư mục thích hợp? –

+1

Khi tôi đang tạo nó, vì vậy tôi đang nhập một mật khẩu mới.Từ thư mục nào tôi nên chạy nó? – C4CodeE4Exe

+0

keytool -genkeypair -alias tomcat -keyalg RSA -keystore D: \ keystore.jks hãy thử điều này để tạo keystore và sau đó xuất cer như keytool -export -alias mycert -keystore D: \ keystore.jks -file vorburger.cer –

Trả lời

63

Từ mô tả của bạn tôi giả sử bạn đang ở trên cửa sổ máy và nhà của bạn là abc

Vì vậy, Bây giờ là: Nguyên nhân

Khi bạn chạy lệnh này

keytool -genkey -alias tomcat -keyalg RSA

vì bạn không chỉ định một kho khóa rõ ràng nó sẽ cố gắng tạo ra (và trong trường hợp của bạn khi bạn đang nhận được ngoại lệ để cập nhật) keystore C:\users\abc>.keystore và của cou rse bạn cần phải cung cấp mật khẩu cũ cho .keystore trong khi tôi tin rằng bạn đang cung cấp phiên bản của bạn (một cái mới).

Giải pháp

  1. Hoặc xóa .keystore từ C:\users\abc> vị trí và thử lệnh

  2. hoặc thử lệnh sau đó sẽ tạo ra một xyzkeystore mới:

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

Lưu ý:-genkey cũ là bây giờ thay vì sử dụng -genkeypair mặc dù cả hai đều hoạt động như nhau.

+0

Mặc dù tôi đã tự tìm ra nó. "Xóa .keystore khỏi vị trí C: \ users \ abc> và thử lệnh" là giải pháp đúng. – C4CodeE4Exe

+0

là nó có thể cung cấp vượt qua keystore trong các đối số? – user1767754

144

Tôi giải quyết nó bằng cách sử dụng mật khẩu mặc định cho cacerts keystore: 'changeit'

+5

Tôi quên nó là 'thay đổi' ... Tôi đã cố gắng 'changeme' – nterry

+0

Điều này giải quyết được tôi, tôi đã thử mật khẩu chứng chỉ. Cảm ơn! –

+0

haha ​​.. vì vậy thực sự của nó không thay đổi mật khẩu để một hình mới, và làm việc mặc định: D –

4

Sử dụng changeit cho mật khẩu là quan trọng quá.

Lệnh này cuối cùng làm việc cho tôi (với cầu cảng):

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

Khái quát những lời khuyên từ trang này, tôi đã hoàn thành lập như sau:

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

Sau đó, tôi nhận được một tập hợp các câu hỏi về tên, tổ chức, địa điểm và mật khẩu cho bí danh của tôi.

77

Câu trả lời này sẽ hữu ích cho người dùng Mac mới (Hoạt động cho Linux, Window 7 64 bit).

Mật khẩu trống đã hoạt động trong mac của tôi.(Dán dòng dưới đây trong Terminal)

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

khi nó nhắc cho

Enter keystore password: 

chỉ cần nhấn vào nút (Dont loại bất cứ điều gì) Nó sẽ làm việc.

Hãy chắc chắn rằng nó cho mặc định debug.keystore tập tin, không cho dự án tập keystore dựa của bạn (Password có thể thay đổi cho việc này).

Hoạt động tốt cho MacOS Sierra 10.10+.

Tôi đã nghe, nó cũng hoạt động với môi trường Linux. tôi chưa thử nghiệm trong Linux.

+4

Nó cũng hoạt động trong các máy Linux. Cảm ơn bạn bro – Shashanth

+2

hoạt động trong cửa sổ của tôi 7 64 bit quá. – ridoy

0

keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect

tôi giải quyết vấn đề của tôi khi tôi đã thay đổi con đường keystore C: \ MyWorks \ mykeystore để C: \ MyWorks \ mykeystore.keystore.

5

Trong tomcat chú ý 8,5 lương để viết đúng tên các thuộc tính. Đây là mã của tôi trên 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> 

Bạn có thể truy cập https://tomcat.apache.org/tomcat-8.5-doc/config/http.html để xem tất cả các thuộc tính

2

Kiểm tra thư mục nhà của bạn ~/.gradle/gradle.properties. Đôi khi nếu bạn có gradle.properties trong thư mục chính, nó sẽ lấy chi tiết từ đó. Bạn có thể thay đổi điều đó hoặc xóa các tệp. Sau đó, nó sẽ lấy các chi tiết cần thiết từ thư mục cục bộ của bạn.

Các vấn đề liên quan