在被签文件的名字后面加上“.sig”作为输出文件名。
若要指定输出文件,应在“sign_directive_Kompass”中加入一行:
out.file=signMyApp.jar
至此,我们完成了数字签名的工作。将“Kompass.key”(数字签名)和
“signMyApp.jar”(签名后的文件)传给使用者即可。
2. 数字签名的使用 (解密方或使用者应执行的步骤)
第一步:得到许可证(即数字签名 -- Kompass.key)和签名后的文件。
第二步:创建签名者实体,并将之设为“可信的”。
javakey -c Kompass true
第三步:将许可证倒入数据库。
javakey -ic Kompass Kompass.key
最后一步:运行JAVA程序。
appletviewer signMyApp.html
我们注意到这里的“.html”不是上面给出的“MyApp.html”。其实这二者
的差别很小,“signMyApp.html”只是多了一个参数:
archive="signMyApp.jar"
它告诉浏览器所有有用的文件(这里的 MyApp.class)均在存档文件中而不
在其它地方。
signMyApp.html 的内容如下:
<html>
<title> Java Security Example: MyApp,signed</title>
<h1> Java Security Example: The Signed Application </h1>
<p>
<applet code=MyApp.class archive="signMyApp.jar" width=500 height=200>
</applet>
<p>
Here's the <a href=MyApp.java>source</a>.
<p>
/* End of signMyApp.html */
现在,我们终于看到了期待已久的结果:浏览器打出了“Your Name has
been written to file <Test.Txt>”;而文件“Test.Txt”确实被创建,并且
其内容正是用户登录 Win95/98 时的名字:
Y o u r N a m e : M a w e n q i a n