java 的jar包签名.可以防止别人篡改被签名的jar包.

步骤:

(1)将java程序打包

jar cvf test.jar test.class

(2)生成名为mcni.store的密钥库,别名为mcni

keytool -genkey -keystore mcni.store -alias mcni

密码:123456 (根据需要自己输入) 以下根据需要输入,最后确认:y

(3)导出mcni.cer数字证书

keytool -export -keystore mcni.store -alias mcni -file mcni.cer

密码:123456 (根据需要自己输入)

(4)对test.jar文件进行签名

jarsigner -keystore mcni.store test.jar mcni

密码:123456 (根据需要自己输入)

另外

一条警告说该证名书只能使用6个月。为了能使应用程序不受时间的限制,keytool命令提供了一个参数validity,利用它可以指定签名有效日。例如:

keytool -genkey -keystore mcni.store -alias mcni -validity 55555

-------------------------- ----------------------------------------------------------------------------

为JAR签名需要两个工具:你要用keytool来创建一个密匙,然后用JARSigner来用此密匙为JAR签名。可以用同一个密匙来为一个公司或一个开发者的所有JAR签名 为什么JAR要被签名?当用户启动一个Java Network Launching Protocol (JNLP,Java网络加载协议)文件或使用一个applet时,这个JNLP或applet请求系统提供超过一般的访问。例如,它可能有一个“文件|打开”菜单项用来装载一个.csv文件。进行这样的请求,就需要签名的JAR。如果它是匿名的,系统会询问用户是否打算信任JAR的签署者。