I’m using tomcat 7.0.50 on CentOS 6.5 on a headless blade server; 8 processor 
cores, 18 GB RAM.


My java client is opening an HttpsURLConnection:


    SSLContext sc = SSLContext.getInstance("TLS");
    sc.init(null, null, null);
    HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    URL url = new URL(urlText);
    HttpsURLConnection urlConnection = (HttpsURLConnection) 
url.openConnection();
    urlConnection.setHostnameVerifier(DO_NOT_VERIFY);
    urlConnection.setDoOutput(true);
    try (OutputStreamWriter output = new 
OutputStreamWriter(urlConnection.getOutputStream(), "UTF-8")) {
        output.write(msg.writeNodes(false));
        output.write("\n");
        output.flush();
    }


On getting the urlConnection.getOutputStream() the following exception is 
thrown:


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


If I set the SSLContext to accept all hosts it works.


I can see the servlet’s “Hello World” message from a web browser. Chrome says 
that it has a valid certificate.


I verified that the certificates were valid using SSLShopper:
 
    www.xxxxxxxxx.net resolves to xxx.xxx.xxx.xxx
 
    Server Type: Apache/2.2.15 (CentOS)  
    The certificate should be trusted by all major web browsers (all the 
correct intermediate certificates are installed).  
    The certificate was issued by GoDaddy.  
    The certificate will expire in 364 days.
  
    The hostname (www.xxxxxxxxxx.net) is correctly listed in the certificate. 
Common name: www.xxxxxxxxx.net
    SANs: www.xxxxxxxxxx.net, xxxxxxxxxx.net
    Valid from April 3, 2014 to April 3, 2015
    Serial Number: 0431cbc326fefc
    Signature Algorithm: sha256WithRSAEncryption
    Issuer: Go Daddy Secure Certificate Authority - G2 
  
    Common name: Go Daddy Secure Certificate Authority - G2
    Organization: GoDaddy.com, Inc.
    Location: Scottsdale, Arizona, US
    Valid from May 3, 2011 to May 3, 2031
    Serial Number: 7 (0x7)
    Signature Algorithm: sha256WithRSAEncryption
    Issuer: Go Daddy Root Certificate Authority - G2 
  
    Common name: Go Daddy Root Certificate Authority - G2
    Organization: GoDaddy.com, Inc.
    Location: Scottsdale, Arizona, US
    Valid from August 31, 2009 to December 31, 2037
    Serial Number: 0 (0x0)
    Signature Algorithm: sha256WithRSAEncryption
    Issuer: Go Daddy Root Certificate Authority - G2


I have similar setup. The keystores are in the same folder, the server.xml are 
the same except for the hostnames and the keystore password. The server with 
the problem is not using the default keystorepassword of "changeit"



Any help would be greatly appreciated.


Jeff Crump

Reply via email to