In response to frequent discussions on RMI and SSL on the RMI users
list, the RMI group here at Sun is providing a page that tells the
RMI/SSL story. If this is a topic that interests you, or if you are interested
in being included in the communications of the RMI development community
you'll want to subscribe to the rmi-users
list.
Below are some questions and answers about SSL and RMI. If you have
any comments or questions that are not addressed by this document,
please send mail to rmi-comments@java.sun.com
.
Q1: Is it possible to use SSL with RMI?
A1: Yes, it is possible, due to RMI enhancements available in the JavaTM 2 SDK, Standard Edition, v1.2 (Java 2 SDK).
Q2: How do I use SSL with RMI?
A2: The version of RMI included in the Java 2 SDK enables the RMI
developer to use custom socket
types. In earlier versions of RMI there could only be one type
of socket used per Java virtual machine* (JVM), but now RMI allows each
object to use a different type of socket for its RMI connections. All
an application has to do is install an RMI socket factory that creates
sockets of the desired type (that speak a particular protocol). We have
a tutorial on creating a custom
RMI socket factory. Where to get the Java programming language
implementation of SSL is discussed next.
Q3: Does SunTM have a pure Java
programming language implementation of SSL?
A3: The HotJavaTM Browser,
JavaTM Web ServerTM, and JavaServerTM
Toolkit all provide secure communications using a Java
programming language implementation of SSL from Sun. In addition, Sun
has a stand-alone Java programming language implementation of SSL for
the Java 2 platform, the
JavaTM Secure Socket Extension (JSSE) 1.0.
Q4: Does Sun recommend any third party pure Java programming
language implementations of SSL?
A4: While we do not endorse any one vendor's implementation, we would
like to provide a list of available SSL implementations written in the Java programming language.
Most implementations of SSL use RSA algorithms. In the U.S. the use
of RSA algorithms must be licensed from RSA. Therefore, U.S. customers
have to take special care to understand all the legal ramifications of
the implementations they choose. As a result, the available implementations
will be listed in two categories: U.S. implementations and non-U.S. implementations.
U.S. Implementations: