Tôi đang cố gắng kết nối một API Web Java qua HTTPS; Tuy nhiên, một ngoại lệ được ném:Lỗi Keytool Java sau khi nhập chứng chỉ, "lỗi keytool: java.io.FileNotFoundException & Access Denied"
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
Tôi làm theo các bước mà tôi học được từ trực tuyến keytool & SSL hướng dẫn cert:
tôi sao chép URL HTTPS vào trình duyệt, tải về các chứng chỉ SSL & Cài đặt chúng trong trình duyệt bằng Internet Explorer.
xuất khẩu các chứng chỉ cho một con đường trên máy tính của tôi, giấy chứng nhận đã được lưu lại dưới dạng
.cer
sử dụng tùy chọn nhập khẩu của keytool. Lệnh dưới đây được thực hiện mà không có bất kỳ lỗi nào.
Tôi được nhắc nhập mật khẩu tại dấu nhắc lệnh mà tôi đã nhập sau đó tôi đã được xác thực.
Các
cmd
cửa sổ in một số dữ liệu chứng & chữ ký và tôi đã nhắc với câu hỏi:Trust this certificate?
Tôi trả lời có.
Các dấu nhắc cmd hiển thị
Certificate was added to keystore
Tuy nhiên sau khi thông điệp rằng, ngoại lệ khác được trưng bày:
keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>
Cuối cùng khi tôi kiểm tra các keystore, giấy chứng nhận SSL không được bổ sung và đơn đăng ký của tôi cung cấp cùng một ngoại lệ mà tôi đã nhận được trước đó khi cố gắng kết nối:
(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)
bạn có thể đăng lệnh 'keytool' chính xác mà bạn đã thực thi và đầu ra của nó không? một số vấn đề rõ ràng ở đây là lỗi đánh máy của đối số '-keystore' và thực tế là keytool không thể tìm thấy kho khóa để nhập khóa vào – Alex
Tôi muốn viết: keytool -import -alias đã tải xuốngCertAlias -keystore C: \ path \ to \ my \ keystore \ cacerts.file -file C: \ path \ of \ exportsCert.cer Tôi cũng đề cập đến lệnh được thi hành mà không có lỗi, vì vậy rõ ràng đây chỉ là lỗi chính tả trong câu hỏi của tôi !!! Cảm ơn anyways – cyber101