Impossibile trovare il certificato attendibile
-
05-07-2019 - |
Domanda
Problema:
Ricevo un errore generato da javax.net.ssl.SSLHandshakeException (vedi foto allegata)
È possibile che Java abbia un certificato CA corrotto o mancante? In tal caso, come posso riparare o risolvere questo problema / errore?
Cose che ho provato:
- Ho rimosso tutte le versioni di JRE dal PC e installato l'ultima versione di JRE (1.6.14).
- Pulito e rimosso tutti i Cert attendibili non necessari dalla sezione Utente dei certificati.
- Prova a eseguire keytool per ottenere le impronte digitali della CA
Quando provo a eseguire il keytool ricevo quanto segue:
errore keytool: java.security.cert.CertificateParsingException: java.io.IOException: chiave soggetto, java.security.spec.InvalidKeySpecException: specifica chiave sconosciuta
Soluzione
È teoricamente possibile, ma altamente improbabile per IMO, che Java abbia un certificato CA corrotto. È più probabile che il certificato CA desiderato non si trovi nell'archivio cacerts di JRE. Puoi controllare il contenuto del negozio (almeno su Linux) usando 'keytool'; per es.
keytool -list -keystore /usr/java/jdk1.6.0_14/jre/lib/security/cacerts
Scorri l'elenco per vedere se riesci a vedere l'impronta digitale per il CAcert richiesto dal tuo URL.
Riferimento: JDK 6.0 JDK Strumenti di sviluppo / Strumenti di sicurezza pagina / sezione.