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:  17995 views
Comments:  

Wrapup

Tying it all together

In this tutorial we've focused on the most complex aspect of using JSSE: properly configuring and installing the client and server key pairs. We talked briefly about the new Java Cryptography Architecture, but mostly focused on the use of key pairs for secure encryption, as implemented by JSSE. We used a very simple whiteboard example to make the discussion in the tutorial more concrete, going over each step necessary to generate key pairs, properly install them, and initiate a secure, socket-based client/server connection.

You can find the complete code source for the whiteboard example in Resources. Build on what you've learned here by studying that code source and paying close attention to the steps outlined in the previous section. You may also want to practice what you've learned, and expand upon it, with the suggested exercise in the next section. Whatever you do, be sure to use what you've learned here when it comes time to develop your next secure socket-based application.

Further exercises: Using a CA

In our whiteboard example, we've assumed that you have control over both the client-side and server-side installations. In other configurations, this isn't the case. For example, Web servers can be used with just about any Web browser, and the people who install the Web server software have nothing to do with those who install browser software. For this reason, Web servers and other public-protocol servers use third-party certification authorities to provide key certificates.

Instruction for using these systems is beyond the scope of this tutorial, but each one generally provides its own detailed instructions. In many cases, you can request a free certificate which can be used for testing purposes -- this lets you "try before you buy." See Resources for links to third-party certification authorities.

6 of 9 | Previous | 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).