In Windows il modo più semplice è quello di utilizzare il programma portecle.
- Scaricare e installare portecle.
- Primo tentativo al 100% di sapere quale JRE o JDK viene utilizzato per eseguire il programma. Su un Windows 7 a 64 bit potrebbero esserci parecchi JRE. Process Explorer può aiutarti con questo o è possibile utilizzare:
System.out.println(System.getProperty("java.home"));
- Copia il file JAVA_HOME \ lib \ security \ cacerts in un'altra cartella.
- In Portecle clic su File> Apri file archivio chiavi
- Selezionare il file cacerts
- inserire questa password: changeit
- Fare clic su Strumenti> Importa Trusted certificato
- Cercare il file mycertificate.pem
- Fare clic su Importa
- Fare clic su OK per l'avviso sul percorso di fiducia.
- Fare clic su OK quando vengono visualizzati i dettagli sul certificato.
- Fare clic su Sì per accettare il certificato come affidabile.
- Quando richiede un alias, fare clic su OK e fare nuovamente clic su OK quando viene indicato di aver importato il certificato.
- Fare clic su Salva. Non dimenticarlo o il cambiamento è scartato.
- Copia il cacerts del file dove l'hai trovato.
Su Linux:
È possibile scaricare il certificato SSL da un server web che sta già utilizzando in questo modo:
$ echo -n | openssl s_client -connect www.example.com:443 | \
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/examplecert.crt
Opzionalmente verificare le informazioni sul certificato:
$ openssl x509 -in /tmp/examplecert.crt -text
Importare il certificato nel keystore cacerts Java:
$ keytool -import -trustcacerts -keystore /opt/java/jre/lib/security/cacerts \
-storepass changeit -noprompt -alias mycert -file /tmp/examplecert.crt
Edit:
In questi giorni non abbiamo spesso devono aggiungere un certificato al chiavi perché è possibile ottenere un certificato per $ 5 per l'anno da ssls.com. Nel caso sia un'opzione per te.
fonte
2012-07-23 17:43:09
Non mi baserei necessariamente su quel codice. Cose come 'Security.addProvider (nuovo com.sun.net.ssl.internal.ssl.Provider())' sono completamente inutili nella prima parte. Il secondo non esegue alcuna verifica del certificato. Prova con un semplice 'URLConnection' per iniziare. Sei sicuro di aver modificato 'cacerts' in' lib/security' della tua installazione JRE? Hai provato l'opzione di debug ['trustmanager'] (http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html#Debug)? – Bruno