En Windows, la forma más fácil es usar el portecle del programa .
- Descargue e instale portecle.
- Primero asegúrese 100% de saber qué JRE o JDK se está utilizando para ejecutar su programa. En un Windows 7 de 64 bits, podría haber bastantes JRE. Process Explorer puede ayudarlo con esto o puede usar:
System.out.println(System.getProperty("java.home"));
- Copie el archivo JAVA_HOME \ lib \ security \ cacerts a otra carpeta.
- En Portecle, haga clic en Archivo> Abrir archivo de almacén de claves
- Seleccione el archivo cacerts
- Ingrese esta contraseña: changeit
- Haga clic en Herramientas> Importar certificado de confianza
- Busque el archivo mycertificate.pem
- Haga clic en Importar
- Haga clic en Aceptar para ver la advertencia sobre la ruta de confianza.
- Haga clic en Aceptar cuando muestre los detalles sobre el certificado.
- Haga clic en Sí para aceptar el certificado como confiable.
- Cuando solicite un alias, haga clic en Aceptar y haga clic nuevamente en Aceptar cuando diga que ha importado el certificado.
- Clic en Guardar. No olvides esto o el cambio se descarta.
- Copia el archivo cacerts de nuevo donde lo encontraste.
En Linux:
Puede descargar el certificado SSL de un servidor web que ya lo está utilizando así:
$ echo -n | openssl s_client -connect www.example.com:443 | \
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/examplecert.crt
Opcionalmente, verifique la información del certificado:
$ openssl x509 -in /tmp/examplecert.crt -text
Importe el certificado al almacén de claves de Java cacerts:
$ keytool -import -trustcacerts -keystore /opt/java/jre/lib/security/cacerts \
-storepass changeit -noprompt -alias mycert -file /tmp/examplecert.crt
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider())son completamente innecesarias en la primera parte. El segundo no hace ninguna verificación de cert. Intenta con una llanuraURLConnectionpara empezar. ¿Seguro de que haya modificadocacertsen ellib/securityde la instalación de JRE? ¿Has probado latrustmanageropción de depuración ?