Preface

Audience for This Book

Java Card™ technology combines a subset of the Java programming language with a runtime environment optimized for smart cards and other memory-constrained devices. This book is intended for a wide technical audience with different needs of understanding Java Card technology.

First and foremost, it is written for Java Card applet developers. You will find a smart card tutorial, in-depth discussions on various Java Card features, helpful programming tips for applet development, and the reference to the Java Card APIs.

Second, this book is supplementary reading for Java Card platform implementors. It provides further discussion of many topics in the Java Card specifications and includes code examples to clarify those topics.

Third, this book is useful for technical managers or anyone who wants to gain an overall understanding of Java Card technology. In particular, the first three chapters are introductions to orient you within the technology from both a technical and marketing point of view.

Throughout this book, I assume that readers are familiar with the fundamentals of the Java language. For those who want to learn more about the Java language, the book by Arnold and Gosling is a good resource.

Organization of This Book

This book is written in a bottom-up fashion. Each chapter was a step to the next one, so it is best if you read the chapters in order.

Part 1: Introduction

  • Chapter 1 introduces smart cards and Java Card technology—history, benefits, and applications.

  • Chapter 2 discusses smart card basics as a foundation for exploring the rest of the book.

Part 2: Java Card Technology

  • Chapter 3 gives an overview of Java Card technology—the system architecture and its components.

  • Chapter 4 discusses the properties and the behavior of persistent and transient objects in the Java Card platform and how to create and use those objects.

  • Chapter 5 explains what atomicity means in the Java Card platform and how to develop an applet using transactions to protect data integrity.

  • Chapter 6 discusses exceptions in the Java Card platform and how applets throw and handle exceptions.

  • Chapter 7 explains how applets run within the JCRE and demonstrates the techniques of applet writing.

  • Chapter 8 describes the techniques of handling APDUs in an applet.

  • Chapter 9 explains the behavior of objects, exceptions, and applets under the control of the applet firewall and discusses how applets can safely share data using object sharing mechanisms.

  • Chapter 10 first introduces many important cryptographic concepts and algorithms. It then outlines the cryptographic APIs in the Java Card platform and demonstrates how to use these APIs through code examples.

  • Chapter 11 describes the security features in the Java Card platform and discusses how these security features are enforced through a variety of mechanisms. Along with the discussion, this chapter summarizes the topics covered in Part 2.

Part 3: Programming Guide and Tips

  • Chapter 12 walks you through a step-by-step process of creating a simple electronic wallet applet.

  • Chapter 13 provides a number of recommendations for optimizing applets. In many cases, a discussion is provided with the recommendation to help you understand various design trade-offs.

  • Chapter 14 discusses issues related to using the int data type when writing Java Card applets.

Part 4: Appendices

  • Appendix A describes the subset of the Java programming language that is supported in the Java Card platform.

  • Appendix B provides a comprehensive reference to the Java Card 2.1 APIs.

The Version Covered in This Book

This book is based on Java Card version 2.1, the latest release when the book was written. At the meantime, the next version 2.1.1 is underway. Version 2.1.1 will include minor enhancement updates to version 2.1. The contents and techniques covered in the book will continue to be relevant to future Java Card releases, and new things will be incorporated in future editions of this book.

Retrieving Additional Information On-line

You can get the latest on Java Card technology or the latest Java Card development kit from the Java Card web site at http://java.sun.com/products/javacard. For updated information about this book, visit http://java.sun.com/books/series/javacard.

Acknowledgments

Writing a book is so much more than putting words to paper, and this book especially benefited from the help and support of many people.

It was not possible to turn ideas of the book into reality without the management support of Andy Streich, Alan Brenner, and Patrice Peyret. I received full support from my manager, Andy Streich, who allocated time for me to concentrate on writing and rescued me whenever I encoutered obstacles. I would also like to thank Debra Dooley, who encouraged me to start this project and supported me along the way.

Lisa Friendly and Tim Lindholm, the Java Series editors, provided many invaluable suggestions and were instrumental in getting this book written and published. The team at Addison-Wesley was enormously helpful. I am indebted to Mike Hendrickson and Julie DiNicola, who guided me through the writing process and rescued me whenever I encoutered obstacles. Diane Freed oversaw the production, from copyediting to final printing. Penny Hull copyedited the manuscript and Evelyn Pyle did the proofreading. Kim Arney and Jim Holliday did the typesetting and page composition.

A number of reviewers greatly improved the book through their careful reading and helpful suggestions. Li Gong, author of Inside Java 2 Platform Security, offered technical guidance on improving the structure and content of the book. Kirk Chen, Pieter Hartel, and Ravi Tanjore provided detailed comments. I especially benefited from many constructive discussions with them. Bertrand du Castel, Eric Vétillard, and Sebastian Hans thorougly reviewed the book and generously offered their intimate knowledge from the field of deploying Java Card technology. Mitch Butler, Jerome Danville, Mike Eisler, Eduard de Jong, Danny Louie, Eric Nellen, Andy Streich, Jessica Wei, Jiang Wu, and Jennifer Yonemitsu all provided valuable comments to the book.

This book also benefited from the help of Peter Cattaneo, Karen Hsiang, Albert Leung, Moshe Levy, and Jennifer Yonemitsu, who gave me useful advice and helped me organize the project.

Finally, in the past several years, I have had the privilege of working with a group of talented and dedicated people in the Java Card team. This book is dedicated to them.

Zhiqun ChenApril, 2000

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.141.202.187