使用JDK
1.3的安全套接字层(SSL)不像使用JDK 1.4里的那么直接。JDK 1.4将SSL作为一个新的特性集成进去了,但是JDK 1.3需要一个外来的程序来提供对它的支持。如果你仍在使用JDK 1.3,而且需要使用SSL实现某些项目,你应该安装一个附件来访问和SSL相关的类,例如SSLSocket和TrustManager。现在让我们看看你能够如何引入这些类来使用SSL实现Java 1.3应用程序。然后我们再看一些服务器端的示例代码。在下一篇文章里,我们会在讲解客户端代码的时候谈到这个问题。
SSL是一种保证网络安全的协议,它在原有TCP/IP结构的传输层和应用层之间提供一个额外的层。作为SSL的基础,TCP不能够对用户的连接进行识别和加密。这就让黑客能够伪造用户的通信并捕捉网络上非经加密的数据。而SSL相反,使用其两个子协议就既能够保证用户的身份又能够确保数据的安全:
SSL的功能已经包括在Java安全套接字扩展(JSSE)里提供给需要安全通信的Java开发人员了。JSSE是一套集成在JDK 1.4里的Java工具包,它对于更早版本的JDK来说是选件。这套工具包提供了密钥和认证管理的基本工具,并支持密码套件协商、客户和服务器验证,以及RSA加密算法。这些功能都是实现一个带有SSL的Java应用程序所需要的。
那么如何启动Java里的SSL呢?如果你正在使用的是JDK 1.2或者1.3,你就要下载JSSE 1.0.3。在下载完文件并将其解压以后,你会在解压后的文件夹里看到三个Java文档:jcert.jar、jnet.jar和jsse.jar。要记住,这些文件都是重要的库。
在开始编程以前,必须把这些工具包的文件放到你的Java程序能够访问得到的目录里。有两种方法能够实现这一目的。表A将告诉你两种方法的工作原理及其优点和局限性。
Table A
方法一 |
方法二 |
|
步骤 |
把jcert.jar、jnet.jar和jsse.jar移动到你JDK的主目录下。 |
把jcert.jar、jnet.jar和jsse.jar移动到编写代码所在的目录里。 |
举例 |
如果JDK的主目录是c:/j2sdk/,那么就: |
如果你的Java代码位于c:/myproject/下,那么就 |
优点 |
工具包文件可以作为资源被同一台计算上的多个项目共享。 |
如果某个applet要使用这些工具包,那么这些工具包会被自动地下载给客户。 |
局限性 |
如果JSSE会被某个applet使用,那么你就需要明确地把工具包文件下载到客户的JDK主文件夹下。 如果你要把自己的项目部署到另一台计算机上,就需要把工具包文件复制到新的计算机上。 |
如果你想要在同一台计算机上开始另一个新项目,那么工具包文件就必须再次被复制到新的文件夹里。 |