Results 1 to 7 of 7
  1. #1
    vicky is offline Member
    Join Date
    Apr 2007
    Posts
    3
    Rep Power
    0

    Smile How to implement secure connection(HTTPs) in client side

    Hello All,

    I need sample code for implementing Secure connection(https) in client side.


    Thanks in advance,
    Vicky

  2. #2
    levent Guest

    Default

    Hello Vicky,

    Welcome to Java Forums.

    I removed the clone of this post on "Advanced Java" forum. You do not need to/should not post same post on multiple forums. Please post your question to only the most appropriate one next time.

    And related to your question. I found this code. Let us know if it works or not.

    Java Code:
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.net.*;
    import java.security.Security;
    import java.util.Properties;
    
    public class UseHttps {
        
    	public static void main(String argv[]) {
    	    
    		Class factoryClass = null;
    		URLStreamHandlerFactory factory = null;
    		String socksServer = "";
    		String socksPort = "";
    		String usage = "Usage: java UseHttps URL-to-be-read socksServerName(optional) socksPortNumber(optional)";
    		
    		if ((argv == null) || (argv.length == 0)) {
    		    System.out.println(usage);
    		    return;
    		}
    		
    		String prefix = "https://";
    		// Build the complete URL, including the protocol
    		String fullURL = prefix.concat(argv[0]);
    		
    		if (argv.length > 3) {
        	    System.out.println(usage);
        	    return;
            }
            
    		if (argv.length >= 2) {        		    
    		    socksServer = argv[1];
    			if (argv.length == 3) {
    		            socksPort = argv[2];
    		    }
    		}
    		
    		System.out.println("Computed URL is " + fullURL);
    		
    		// Now either we can rely on the user to have added us to
    		// the security.provider list in java.security, or we can
    		// dynamically add ourselves here.  We'll set it up here.
    
    		Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    		
    		Properties properties = System.getProperties();
    		
    		String handlers = System.getProperty("java.protocol.handler.pkgs");
    		if (handlers == null) {
    		    // nothing specified yet (expected case)
    		    properties.put("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
    		}
    		else {
    		    // something already there, put ourselves out front
    		    properties.put("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol|".concat(handlers));		    
    		}
    		
    		if (!socksServer.equals("")) {
    		    // Must do the setup to get to the socks host
    		    // Could check first to see if the user already specified it on the invocation line
    		    if (System.getProperty("socksProxyHost") == null) {
    		        properties.put("socksProxyHost", socksServer);
    		    }
    		    if (!socksPort.equals("")) {
    		        if (System.getProperty("socksProxyPort") == null) {
    		            properties.put("socksProxyPort", socksPort);
    		        }
    		    }
    		}
            System.setProperties(properties); // put the updated properties back in System
    		
    		try {
    		
        		URL page = new URL(fullURL); // Process the URL far enough to find the right handler
    	    	URLConnection urlc = page.openConnection();
    		    urlc.setUseCaches(false); // Don't look at possibly cached data
    		    System.out.println("Content-type = " + urlc.getContentType()); // See what's here
    		    System.out.println("Content-length = " + urlc.getContentLength()); // See how much of it there is
    		    // Read it all and print it out
        		BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream()));
    	    	String buffer = "";
    
    		    while (buffer != null) {
    		        try {
    		            System.out.println(buffer);
    		            buffer = br.readLine();
    		        }
    		        catch (IOException ioe) {
    		            ioe.printStackTrace();
    		            break;
    		        }
    		    }
    		}
    		catch (MalformedURLException mue) {
    			System.out.println(fullURL + " is not a URL that can be resolved");
    		}
    		catch (IOException ie) {
    			ie.printStackTrace();
    		}
    	}
    }

  3. #3
    vicky is offline Member
    Join Date
    Apr 2007
    Posts
    3
    Rep Power
    0

    Default

    Hi Levent,
    Thanks for your reply.
    I am getting exception "javax.net.ssl.SSLHandshakeException : unknown certificate".I am not getting how to resolve this problem.


    Thanks,
    Vicky

  4. #4
    levent Guest

    Default

    Hi Vicky,

    There are lots of pages shown when you search "javax.net.ssl.SSLHandshakeException: unknown certificate". Here is one which might help, i guess:

    javax.net.ssl.SSLHandshakeException: unknown certificate

  5. #5
    sathish_2111 is offline Member
    Join Date
    Jul 2007
    Posts
    17
    Rep Power
    0

    Default

    Is it possible to avoid certificate validation in client side ?

  6. #6
    JavaBean's Avatar
    JavaBean is offline Moderator
    Join Date
    May 2007
    Posts
    1,270
    Rep Power
    9

    Default

    Is it possible to avoid certificate validation in client side ?
    I guess you can accept all certificates by default by playing options in your browser.

  7. #7
    sathish_2111 is offline Member
    Join Date
    Jul 2007
    Posts
    17
    Rep Power
    0

    Default

    I am not using browser. I am try to access the https connection using java client code.

Similar Threads

  1. Replies: 2
    Last Post: 10-05-2008, 07:13 PM
  2. jsp program for client side printer to print these 2 strings on 3/3
    By for453 in forum JavaServer Pages (JSP) and JSTL
    Replies: 0
    Last Post: 08-07-2007, 05:42 PM
  3. Replies: 1
    Last Post: 08-07-2007, 07:03 AM
  4. Replies: 0
    Last Post: 08-06-2007, 07:54 PM
  5. how To Use Https Connection For Communication
    By fred in forum Advanced Java
    Replies: 2
    Last Post: 08-01-2007, 05:59 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •