I am trying to connect to a server with a Java Http client to make a web service call. If I turn net debugging on with the below code..
System.setProperty("javax.net.debug", "all");
I am seeing that certificates from Entrust seem to be added as trusted certificates. Among those added were the below...
adding as trusted cert: Subject: CN=Entrust.net Certification Authority (2048), OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net Issuer: CN=Entrust.net Certification Authority (2048), OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net Algorithm: RSA; Serial number: 0x3863def8 Valid from Fri Dec 24 12:50:51 EST 1999 until Tue Jul 24 10:15:12 EDT 2029
It seems as if the server is using a cert from Entrust because I also see in the debug...
main, READ: TLSv1 Handshake, length = 2649*** Certificate chainchain [0] = [0] Version: 3 SerialNumber: 1356119177 IssuerDN: C=US,O=Entrust\, Inc.,OU=See www.entrust.net/legal-terms,OU=(c) 2012 Entrust\, Inc. - for authorized use only,CN=Entrust Certification Authority - L1K Start Date: Wed Jul 15 11:50:20 EDT 2015 Final Date: Sun Jul 15 18:27:04 EDT 2018
And yet during the handshake process I get the below exception...
***Caught: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: java.security.cert.CertPathBuilderException: No issuer certificate for certificate in certification path found.main, SEND TLSv1 ALERT: fatal, description = certificate_unknown