开始之前
本系列教程演示如何将基于 Java 2 Micro Edition (J2ME) 的无线访问中的安全机制集成到 Web 服务中。我们将在 J2ME MIDlet 中使用以下组件和技术:
- J2ME 的 Web 服务 API (WSA)
- 加密
- XML 数字签名(XML Digital Signature,XMLDS)
- Java Card
在本系列的第 1 部分,您已经了解了 Web 服务 API (WSA) 存根类如何工作。第 2 部分说明了如何增强 WSA 存根类以及如何将其他技术组件(如加密和 XML 签名)集成到 WSA 存根类中。
第 3 部分将首先实现 Base64 编码和签名计算算法。第 3 部分还将给出一个全面的测试安排,可以用于测试基于 J2ME 的安全 Web 服务客户机。我们最后会将所有概念放入“存根增强器工具”来结束全文。此工具通过包含安全性功能来对 WSA 存根类的功能进行了增强。
在本系列教程的第 2 部分,我们对 WSA 存根类进行了增强。第 2 部分给出了四个 Helper 类,分别为 CanonicalAuthor、SHA1DigestCalculator、Base64Encoder 和 SignatureCalculator。在第 2 部分还实现了其中的两个 Helper 类:CanonicalAuthor 和 SHA1DigestCalculator。
在第 3 部分,我们将实现其余两个 Helper 类:Base64Encoder 和 SignatureCalculator。然后,我们将在本部分将所有存根和 Helper 类放入到测试安排中。通过这样,可以方便地对基于 J2ME 的安全 Web 服务客户机进行测试。
本教程最后将开发一个存根增强器工具。该工具用于承担增强存根类和生成 Helper 类所需的大部分手动编程工作。可以使用存根增强器工具来保存构建基于 J2ME 的安全 Web 服务客户机过程中的大部分工作。
- 阅读本系列教程的第 1 部分和第 2 部分。
- 您需要对本系列教程讨论的各种技术组件有基本的了解。具体来说,假定了以下背景:
- 您应该熟悉 Java 编程,并对 J2ME MIDlet 有基本了解。
- WSA 使用 Web 服务描述语言(Web Services Definition Language,WSDL)和简单对象访问协议(Simple Object Access Protocol,SOAP)。因此,您需要知道 WSDL 接口如何映射到 SOAP 方法调用。
- 具有一定的 XML 签名方法的背景也会有所帮助。
请参考参考资料部分,其中提供了几篇有关这些主题的非常优秀的 developerWorks 文章。
本系列教程的主要目的是为了帮助您开发对 Web 服务的无线访问。主要的重点是安全性,但也可以使用此处提出的 WSA 概念来为您的 Web 服务开发任意类型的无线客户机。
本教程是本系列教程的第 3 部分,将说明如何在内存受限的无线设备中实现 Base64 编码算法。因此,本教程还可能帮助您在无线设备中实现类似的算法。
本部分还将介绍如何构建测试机制,可以在尝试通过无线方式访问 Web 服务时使用此机制。您可以使用本教程的测试机制,也可以为 Web 服务开发类似的测试机制。
本教程最后讨论的存根增强器工具演示了如何构建用于进行 WSA 存根增强的自动解决方案。可以使用此存根增强器工具来减少构建基于 J2ME 的安全 Web 服务客户机的时间。
第 3 部分组织为以下七个部分:
- 教程介绍
- 演示如何采用 J2ME 实现 Base64 编码的算法
- 说明如何与 J2ME MIDlet 的 Java Card 应用程序通信
- 演示如何安装 Java Card 应用程序
- 演示如何构建能够计算加密签名值的 Java Card 应用程序
- 讨论如何构建存根增强器工具,以执行增强 WSA 存根类所需的大部分编程工作
- 总结