HTTPS aracılığıyla bir Java Web API'ye bağlanmaya çalışıyorum; ancak bir istisna atılır:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
Çevrimiçi anahtar araç ve SSL sertifika eğitimlerinden öğrendiğim şu adımları takip ettim:
HTTPS URL'sini tarayıcıya kopyaladım, SSL sertifikalarını indirdim ve Internet Explorer kullanarak tarayıcıya yükledim.
Sertifikaları bilgisayarımdaki bir yola aktardım, sertifikalar şu şekilde kaydedildi:
.cer
Keytool'un içe aktarma seçeneğini kullandı. Aşağıdaki komut hatasız yürütülmüştür.
keytool -import -alias downloadedCertAlias -keystore C:\path\to\my\keystore\cacerts.file -file C:\path\of\exportedCert.cer
Girdiğim komut isteminde bir parola girmem istendi, ardından kimlik doğrulaması yapıldı.
cmd
Pencere Bazı sertifika verilerini & imzalar baskılı ve ben soruyla neden oldu:Bu sertifikaya güvenilsin mi?
Evet dedim.
Cmd istemi görüntülenir
Anahtar deposuna sertifika eklendi
Ancak bu mesajdan sonra başka bir istisna gösterildi:
keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>
Son olarak, anahtar deposunu kontrol ettiğimde, SSL sertifikası eklenmedi ve uygulamam, bağlanmaya çalışırken daha önce aldığım istisnayı veriyor:
(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)
keytool
yürüttüğünüz komutu gönderebilir misiniz ve çıktı? Buradaki bariz sorunlardan bazıları-keystore
argümanın yazım hatası ve keytool'un anahtarı içe aktarmak için anahtar deposunu bulamadığı gerçeğidir