Saya mencoba menghubungkan Java Web API melalui HTTPS; namun, ada pengecualian:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
Saya mengikuti langkah-langkah ini yang saya pelajari dari keytool online & tutorial sertifikat SSL:
Saya menyalin URL HTTPS ke browser, mengunduh sertifikat SSL & Menginstalnya di browser menggunakan Internet Explorer.
Mengekspor sertifikat ke jalur di komputer saya, sertifikat disimpan sebagai
.cer
Menggunakan opsi impor keytool. Perintah di bawah ini dijalankan tanpa ada kesalahan.
keytool -import -alias downloadedCertAlias -keystore C:\path\to\my\keystore\cacerts.file -file C:\path\of\exportedCert.cer
Saya dimintai kata sandi pada prompt perintah, yang saya masukkan kemudian saya diautentikasi.
The
cmd
window dicetak beberapa sertifikat Data & tanda tangan dan saya diminta dengan pertanyaan:Percayai sertifikat ini?
Saya jawab ya.
Perintah cmd ditampilkan
Sertifikat telah ditambahkan ke keystore
Namun setelah pesan itu, pengecualian lain ditampilkan:
keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>
Akhirnya ketika saya memeriksa keystore, sertifikat SSL tidak ditambahkan dan aplikasi saya memberikan pengecualian yang sama seperti yang saya dapatkan sebelumnya ketika mencoba menghubungkan:
(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)
sumber
keytool
perintah yang telah Anda jalankan, dan hasilnya? beberapa masalah yang jelas di sini adalah kesalahan ketik-keystore
argumen, dan fakta bahwa keytool tidak dapat menemukan keystore untuk mengimpor kunciJawaban:
Ini bisa terjadi jika Anda tidak menjalankan prompt perintah dalam mode administrator. Jika Anda menggunakan windows 7, Anda dapat menjalankan, ketik cmd dan tekan Ctrl + Shift + enter. Ini akan membuka command prompt dalam mode administrator. Jika tidak, Anda juga dapat memulai -> semua program -> aksesori -> klik kanan command prompt dan klik 'run as administrator'.
sumber
Saya mengalami masalah yang sama di Windows dan dapat mengatasinya dengan menjalankan cmd.exe sebagai administrator (klik kanan di menu mulai, lalu "Jalankan sebagai administrator).
sumber
Saya mengalami masalah yang sama saat mengimpor sertifikat di keystore lokal. Setiap kali saya mengeluarkan perintah keytool, saya mendapat kesalahan berikut.
Sertifikat ditambahkan ke keystore keytool error: java.io.FileNotFoundException: C: \ Program Files \ Java \ jdk1.8.0_151 \ jre \ lib \ security (Akses ditolak)
Solusi berikut berhasil untuk saya.
1) pastikan Anda menjalankan command prompt di Rus sebagai mode Administrator
2) Ubah direktori Anda saat ini ke% JAVA_HOME% \ jre \ lib \ security
3) lalu keluarkan perintah di bawah ini
keytool -import -alias "mycertificatedemo" -file "C: \ Users \ name \ Downloads \ abc.crt" -keystore cacerts
3) berikan perubahan kata sandi itu
4) masukkan y
5) Anda akan melihat pesan berikut pada "Sertifikat telah ditambahkan ke keystore" berhasil
Pastikan Anda hanya memberikan " cacerts " dalam nilai parameter -keystore, karena saya memberikan jalur lengkap seperti "C **: \ Program Files \ Java \ jdk1.8.0_151 \ jre \ lib \ security **".
Semoga ini berhasil
sumber
Periksa izin menulis di keystore.
sumber
Untuk pengguna Mac, pastikan untuk sudo dan ketika diminta pertama berikan kata sandi administrator Anda dan itu akan diikuti oleh kata sandi keystore yang biasanya harus "changeit" kecuali Anda benar-benar mengubahnya.
sumber
Jika Anda menggunakan windows8:
command prompt
command prompt
dan klikRun as administrator
. Kemudian jalankan perintah keytool.sumber
Anda dapat memberi diri Anda izin untuk memperbaiki masalah ini.
Klik kanan pada cacerts> pilih properti> pilih tab Securit> Izinkan semua izin untuk semua nama Grup dan pengguna.
Ini berhasil untuk saya.
sumber
Saya bahkan menjalankan command prompt sebagai Administrator tetapi tidak berhasil untuk saya dengan kesalahan di bawah ini.
Jika jalur ke keytool tidak ada di jalur Sistem Anda, maka Anda harus menggunakan jalur lengkap untuk menggunakan keytool, yaitu
Jadi, perintahnya harus seperti
yang berhasil untuk saya.
sumber
Saya mendapat kesalahan ini juga bahkan saya menjalankan cmd sebagai Administrator.
Akar penyebabnya adalah: File ini berasal dari VCS (subversi, perforce, dll.), Dan ketika saya memeriksa properti file ini, 'Attributes is Read-only .
Jadi solusinya adalah:
sumber
TERPECAHKAN
sumber
Anda dapat menyimpan disk atau jalur lain (bukan C) EX: D \
sumber