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 llanuraURLConnection
para empezar. ¿Seguro de que haya modificadocacerts
en ellib/security
de la instalación de JRE? ¿Has probado latrustmanager
opción de depuración ?