2012-10-29 27 views
12

Tôi muốn sử dụng chữ ký tự ký cho các kết nối ssl. Tôi đang theo dõi this bài đăng.KeyStore với BouncyCastleProvider: Kiểm tra tính toàn vẹn KeyStore không thành công

Vấn đề của tôi: Sau khi tạo Keystore, kiểm tra tính toàn vẹn của tôi không thành công.

Keytool-Error: java.io.IOException: KeyStore integrity check failed. 

Tôi vẫn đang tìm kiếm nhưng có thể ai đó có thể tiết kiệm thời gian cho tôi.

Trả lời

28

Đảm bảo bạn đang sử dụng đúng mật khẩu để mở kho khóa. Tôi đã có lỗi này và quay ra tôi vẫn còn sử dụng các mật khẩu từ các mã ví dụ trong trusted.load()

13

tôi đã cùng một vấn đề mà tôi đã cố gắng để mở một tập tin KeyStore tôi lưu trong nước và 2 lý do nói đến cái tâm:

  • Bạn đang lưu trữ KeyStore và tải nó với một mật khẩu khác nhau của bạn.
  • Tệp KeyStore của bạn đã bị hỏng do một số cách đánh dấu kiểm tra tính toàn vẹn.

Tôi khuyên bạn nên lưu và tải một tệp khác có cùng mật khẩu (cố định) để xem liệu tệp có tải bình thường không.

+0

bạn có thể cho tôi biết vị trí của nó được lưu trữ trên hệ điều hành mac không? – Hunt

+0

@Hunt: Cái gì? –

+0

Các KeyStore, tôi thậm chí không biết nó được lưu trữ trong điện thoại Android hoặc ở một nơi khác – Hunt

1

Đảm bảo tập tin keystore của bạn được đóng lại đúng cách sử dụng FileOutputStream.close() hoặc nó sẽ được đánh dấu là đã bị mất toàn vẹn

0

Tôi đã tìm thấy một trường hợp góc có thể kích hoạt thông báo này.

Tôi đã xuất một kho khóa PKCS12 với openssl và sau đó cố nhập nó vào kho khóa hiện có với keytool. Tôi đã nhận được lỗi 'kiểm tra tính toàn vẹn' không thành công ở bước này mặc dù mật khẩu vẫn tốt khi tôi liệt kê nội dung của kho khóa PKCS12.

Vấn đề hóa ra là vì tôi đã sử dụng mật khẩu chính xác 50 ký tự. Mặc dù điều này được chấp nhận bởi openssl, tôi hiểu rằng đây là kích thước tối đa của bộ đệm được sử dụng và ký tự cuối cùng của mật khẩu bị ghi đè bởi ký tự 'kết thúc chuỗi'.

Xuất lại kho khóa PKCS12 lần nữa với mật khẩu chỉ dài 49 ký tự đã khắc phục được sự cố của tôi.

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