Section 5.12. The Rest of the Toolkit


5.12. The Rest of the Toolkit

There are additional utilities in the toolkit. Below is a capsule summary of them and their purposes.

extcheck

This utility checks an applet JAR file for any extensions it requires that are in conflict with the current Java runtime environment. (But we don't cover applets in this book.)

jarsigner

This is a utility for digitally signing JAR file. Once a JAR is signed, anyone looking at it can be sure of two thingsfirst, the file was definitely prepared by the owner of the private key that matches the public key used to verify the signature;[29] and second, the JAR file has not been modified in any way since it was signed. In other words, depending upon the care with which the signer treats his/her private key, this certifies the authenticity and accuracy of the JAR file; you can trust it as much as you trust the signer.

[29] A discussion of public/private keys as an authentication mechanism is beyond our scope here. As a shameless plug, Mr. Schwarz would like to point you to Chapter 10 of his previous book, Multitool Linux, which contains a beginner's introduction to public key authentication using GnuPG. Of course, a quick Google search will find you many online descriptions that are free.

Generally speaking, an applet must be signed by a key that the user trusts in order for the applet to increase its security access to the client machine (open/read/write files, access the printer, and so on). But we don't cover applets in this book.

keytool

This tool is used to create and manage the keys we were talking about in the previous entry. Again, this is used mainly for JAR signing, and JAR signing is used mainly for applet authentication, but we don't cover applets in this book.

rmid

The RMI activation daemon. In the RMI example we showed you in this chapter, you had to start a server manually and leave it running to process requests. RMI activation is a system where RMI servers may be started on demand.

serialver

Reports the RMI serialVersionUID of a class. This can be useful when trying to track down problems with complex RMI systems, especially when multiple versions of an RMI interface with the same name must be in use at the same time.

native2ascii

As mentioned before, Java uses Unicode for all strings. Most of the time, you and we are working with ASCII-encoded files. This program converts files from one format to the other.

policytool

Remember how we had to set up a security policy file for our RMI demonstration (Example 5.13)? Well, this is a Java GUI application for creating and editing Java policy files.

There are a few more. One group of utilities is related to Kerberos tickets. Another is related to Java IDL and RMI-IIOP, both of which are to allow Java to interoperate with CORBA. If you are in a CORBA environment, you will want to look at those. We've got enough on our plates without trying to jam CORBA in here. You're on your own, buddy. Finally, there are a couple of programs that support the Java plug-in, which is a way to make Java available in browsers.[30]

[30] Those browsers that had Java built into them generally used Java 1.0 or 1.1. After Java 1.1 it became clear that it would be a major pain to have to reintegrate each new version of Java into each browser product. It would make browser versions and Java releases dependent on one another and would, in general, be a pain both for Sun and for Microsoft and Netscape (remember Netscape?). Thus, the plug-in architecture was born (okay, plug-ins were for things like RealPlayer and Macromedia Flash too). Since Java 1.2, browser integration has been via plug-ins.



    Java Application Development with Linux
    Java Application Development on Linux
    ISBN: 013143697X
    EAN: 2147483647
    Year: 2004
    Pages: 292

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net