You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Alexander (JIRA)" <ji...@apache.org> on 2007/11/28 14:54:43 UTC

[jira] Created: (HTTPCLIENT-708) Trouble with SSL

Trouble with SSL
----------------

                 Key: HTTPCLIENT-708
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-708
             Project: HttpComponents HttpClient
          Issue Type: Bug
          Components: HttpClient
    Affects Versions: 3.1 Final
         Environment: Windows XP, JDK 6u2
            Reporter: Alexander


I am trying to get page from host www.iauc.co.jp over SSL:
(code from SSL Guide)
public class Test {

     public static final String TARGET_HTTPS_SERVER = "www.iauc.co.jp";
     public static final int    TARGET_HTTPS_PORT   = 443; 

     public static void main(String[] args) throws Exception {

       Socket socket = SSLSocketFactory.getDefault().
         createSocket(TARGET_HTTPS_SERVER, TARGET_HTTPS_PORT);
       try {
         Writer out = new OutputStreamWriter(
            socket.getOutputStream(), "ISO-8859-1");
         out.write("GET / HTTP/1.1\r\n");
         out.write("Host: " + TARGET_HTTPS_SERVER + ":" +
             TARGET_HTTPS_PORT + "\r\n");
         out.write("Agent: SSL-TEST\r\n");
         out.write("\r\n");
         out.flush();
         BufferedReader in = new BufferedReader(
            new InputStreamReader(socket.getInputStream(), "ISO-8859-1"));
         String line = null;
         while ((line = in.readLine()) != null) {
            System.out.println(line);
         }
       } finally {
         socket.close();
       }
     }
  }

After Runing i get next Exceptions

Exception in thread "main" 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
	at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1520)
	at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:182)
	at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:176)
	at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:975)
	at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:123)
	at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:511)
	at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:449)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:817)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1029)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:621)
	at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
	at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
	at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
	at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:276)
	at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
	at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
	at anchorlinker.test.Test.main(Test.java:29)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:285)
	at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:191)
	at sun.security.validator.Validator.validate(Validator.java:218)
	at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
	at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
	at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
	at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:954)
	... 18 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
	at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:280)
	... 24 more

How i can resolve this problem?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: httpcomponents-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpcomponents-dev-help@jakarta.apache.org


[jira] Resolved: (HTTPCLIENT-708) Trouble with SSL

Posted by "Ortwin Glück (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCLIENT-708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ortwin Glück resolved HTTPCLIENT-708.
-------------------------------------

    Resolution: Invalid

Not a HttpClient bug. Please consult documentation of the SSL implementation.

Probably the webserver certificate was signed with a CA that is not in your keystore, or the certificate is corrupt.

> Trouble with SSL
> ----------------
>
>                 Key: HTTPCLIENT-708
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-708
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 3.1 Final
>         Environment: Windows XP, JDK 6u2
>            Reporter: Alexander
>
> I am trying to get page from host www.iauc.co.jp over SSL:
> (code from SSL Guide)
> public class Test {
>      public static final String TARGET_HTTPS_SERVER = "www.iauc.co.jp";
>      public static final int    TARGET_HTTPS_PORT   = 443; 
>      public static void main(String[] args) throws Exception {
>        Socket socket = SSLSocketFactory.getDefault().
>          createSocket(TARGET_HTTPS_SERVER, TARGET_HTTPS_PORT);
>        try {
>          Writer out = new OutputStreamWriter(
>             socket.getOutputStream(), "ISO-8859-1");
>          out.write("GET / HTTP/1.1\r\n");
>          out.write("Host: " + TARGET_HTTPS_SERVER + ":" +
>              TARGET_HTTPS_PORT + "\r\n");
>          out.write("Agent: SSL-TEST\r\n");
>          out.write("\r\n");
>          out.flush();
>          BufferedReader in = new BufferedReader(
>             new InputStreamReader(socket.getInputStream(), "ISO-8859-1"));
>          String line = null;
>          while ((line = in.readLine()) != null) {
>             System.out.println(line);
>          }
>        } finally {
>          socket.close();
>        }
>      }
>   }
> After Runing i get next Exceptions
> Exception in thread "main" 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
> 	at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
> 	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1520)
> 	at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:182)
> 	at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:176)
> 	at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:975)
> 	at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:123)
> 	at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:511)
> 	at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:449)
> 	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:817)
> 	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1029)
> 	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:621)
> 	at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
> 	at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
> 	at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
> 	at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:276)
> 	at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
> 	at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
> 	at anchorlinker.test.Test.main(Test.java:29)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
> Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
> 	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:285)
> 	at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:191)
> 	at sun.security.validator.Validator.validate(Validator.java:218)
> 	at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
> 	at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
> 	at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
> 	at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:954)
> 	... 18 more
> Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
> 	at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
> 	at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
> 	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:280)
> 	... 24 more
> How i can resolve this problem?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: httpcomponents-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpcomponents-dev-help@jakarta.apache.org