Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Using JSSE for secure socket communication

Greg Travis is a freelance programmer living in New York City. His interest in computers can probably be traced back to that episode of The Bionic Woman where Jamie runs around trying to escape a building whose lights and doors are controlled by an evil artificial intelligence that mocks her through loudspeakers. Greg is a devout believer in the idea that, when a computer program works, it's a complete coincidence.

Summary:  The JDK 1.4 Java Secure Socket Extension is easy enough to use -- once you understand all the steps necessary for the initial setup and configuration. In this tutorial Greg Travis offers cookbook-style instructions for creating and installing JSSE encryption keys in a client/server application environment. Upon completion of this tutorial, you will know how to easily convert any existing client/server application to use encryption, as well as how to create a secure application from scratch.

Date:  30 Apr 2002
Level:  Introductory PDF:  A4 and Letter (96 KB | 20 pages)Get Adobe® Reader®

Activity:  17862 views
Comments:  

About this tutorial

What is this tutorial about?

This tutorial explains the use of the Java Secure Socket Extension (JSSE) packages included in JDK 1.4. The complexity of using JSSE is not in the communication itself, but rather in the configuration. Before you can run your client/server software, you must create the keys needed by the encryption algorithms, and these keys must be properly loaded by your software before it can create secure sockets.

This tutorial provides cookbook-style instructions for creating and installing JSSE encryption keys in a client/server application environment. When you have completed this tutorial, you will know how to easily convert any existing client/server application to use encryption, as well as how to create a secure application from scratch.


Prerequisites

To follow the discussion in this tutorial, you need to know a few things about the Java language, starting with the basics of Java programming in a client/server environment (that is, working with classes, objects, threads, and so on). Because stream and socket communication is central to our discussion, you need to know how to use streams and sockets. In particular, you should know what a stream is and what it is used for. You should know how to create a Socket and a ServerSocket, how to get streams from each, and how to communicate using those streams. You also should know how to create and compile a .java file using the JDK or an IDE.

Two developerWorks tutorials, "Java sockets 101" and "Introduction to Java I/O," both accessible from Resources, provide useful background information.

You do not need to know anything about encryption technology to complete this tutorial. While a comprehensive overview of encryption is beyond the scope of the discussion here, you will be given the information you need to create secure client/server connections within your applications.


Installation requirements

To run the examples in this tutorial, you need the following tools and components:

  • JDK 1.4 from Sun Microsystems
  • A development environment -- either an IDE or a suitable command-shell
  • A computer on which you can run an Internet server

See Resources to download the JDK 1.4 and complete source files necessary for the completion of this tutorial.

1 of 9 | Next

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Java technology
ArticleID=131931
TutorialTitle=Using JSSE for secure socket communication
publish-date=04302002
author1-email=mito@panix.com
author1-email-cc=jaloi@us.ibm.com

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).