[zt]注册一个JAR

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體:   |    |    |  超大  

注册一个JAR

使用商业系统发行版本的开发者要购买用于注册他们的JAR的证书,其实随便一个普通的开发者可以使用匿名证书轻松地注册一个JAR。

注册一个JAR要用到两个工具:使用keytool产生一个key,再使用JARsigner利用这个key去注册JAR。用这种方法,同一个key可以用来注册所有公司或者开发者的JAR。

为什么JAR需要注册呢?当一个用户启动一个Java网络装载协议(JNLP)文件或者使用一个applet时,JNLP或者applet要求比正常情况下更多地访问系统资源。例如,它可能有一个File | Open菜单项用于装载一个.csv文件。要完成这些请求就需要注册的JAR。如果它是匿名的,系统就会问用户是否信任JAR的注册者。

下面是使用keytool的一个例子。在实际情况中,一定要使用好的keypass和keystore口令。然后你会在注册JAR的时候使用他们。

> keytool -genkey -alias csv -keypass ’invasion:earth’

Enter keystore password: harry:Harrison

What is your first and last name?

[Unknown]: bayard

What is the name of your organizational unit?

[Unknown]:

What is the name of your organization?

[Unknown]: generationjava.com

What is the name of your City or Locality?

[Unknown]: Springfield

What is the name of your State or Province?

[Unknown]:

What is the two-letter country code for this unit?

[Unknown]: US

Is <CN=bayard, OU=Unknown, O=generationjava.com, L=Springfield, ST=Unknown, C=US> correct?

[no]: yes

一旦上面的过程完成了,keytool就会在你的主目录中产生一个叫做.keystore的二进制文件。运行keytool –list可以查看keystore中的内容。

> keytool -list

Enter keystore password: harry:Harrison

Keystore type: jks

Keystore provider: SUN

Your keystore contains 1 entry:

csv, Tue Feb 05 22:49:44 EST 2002, keyEntry,

Certificate fingerprint (MD5): E8:FC:38:E3:59:72:0A:86:7F:57:C03:4C:8E:25:FC

有了这个key,你就可以使用它注册一个JAR并且应用由keytool产生的别名。这些功能都由JARsigner工具来完成。

> JARsigner -verbose Csv.JAR csv

Enter Passphrase for keystore: harry:Harrison

Enter key password for csv: invasion:earth

updating: META-INF/MANIFEST.MF

adding: META-INF/CSV.SF

adding: META-INF/CSV.DSA

signing: com/generationjava/lang/NumberW.class

signing: com/generationjava/io/Csv.class

...snip...lots of classes...

这将添加两个文件到你的JAR中:META-INF/CSV.SF和META-INF/CSV.DSA。DSA文件包或一个二进制加密key,SF文件包括JAR中的每个类的列表和每个文件的SHA-1 Digest,所以它们的真实性可以得到保证。

现在你的JAR已经注册了。运行JARsigner –verbose –verify Csv.JAR确认你的JAR已经成功注册,它可以增强你的JNLP或者applet的功能。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航