Configure a Java HTTP Client to Accept Self-Signed Certificates: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 16: Line 16:
=Procedure=
=Procedure=


==Obtain the HTTPS Server's Public Key==
==Obtain the HTTPS Server's Certificate==


Use openssl s_client as described here. The response will include the server's public key in [[PEM]] format.
Use [[Openssl_Operations#Obtain_a_Server_Certificate|openssl s_client to obtain the server's certificate as described here]]. The response will include the server's public key in [[PEM]] format.

Revision as of 10:30, 9 December 2017

Internal

Overview

If a Java client is attempting to connect to a HTTPS server configured with self-signed SSL certificates, the Java client will fail with:

...
sun.security.validator.ValidatorException: PKIX path building failed: \
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

This article provides a solution to this problem. The solution consist in obtaining the HTTPS server's public key, importing it into a local truststore and configuring the Java client to use the local truststore.

Procedure

Obtain the HTTPS Server's Certificate

Use openssl s_client to obtain the server's certificate as described here. The response will include the server's public key in PEM format.