package hello;
import javax.microedition.xlet.*;
public class HelloXlet implements Xlet {
XletContext ctx;
public void destroyXlet(boolean arg0) throws XletStateChangeException {
// Empty
}
public void initXlet(XletContext ctx) throws XletStateChangeException {
this.ctx = ctx;
}
public void pauseXlet() {
// Empty
}
public void startXlet() throws XletStateChangeException {
System.out.println("Hello Java DTV.");
ctx.notifyDestroyed();
}
}
Use a simple manifest.mf that identifies the main entry class.
Main-Class: hello.HelloXlet
Create the JAR file using the normal jar tool.
Then sign with the jarsigner tool using the
certificate in the keystore with the alias mykey.
% jar -cfm hello.jar manifest.mf -C classes hello % jarsigner hello.jar mykey -storepass xxx
The hello.jar now contains the classes and authentication files.
META-INF/MANIFEST.MF META-INF/MYKEY.SF META-INF/MYKEY.DSA META-INF/ hello/ hello/HelloXlet.class
The generated MANIFEST.MF contains the main attributes and entries for each file.
Manifest-Version: 1.0 Created-By: 1.5.0_16-133 Main-Class: hello.HelloXlet Name: hello/HelloXlet.class SHA1-Digest: IAhtIdnN9ITtPFY2nIb8NHjXYC0=
The mykey.sf file contains:
Signature-Version: 1.0
Created-By: 1.5.0_16
SHA1-Digest-Manifest-Main-Attributes: 80psXuLFfIvDp8Uj/StiEb4uVEs=
SHA1-Digest-Manifest: gGhmIOAW3WJ2cmhf+XsPVg8F+uk=
Name: hello/HelloXlet.class
SHA1-Digest: BgKfgpXw6c/geXKxU9SyI3h/VUQ=