java jnlp 签名_JAVA JNLP组件数字签名制作步骤

为JAR签名需要两个工具:

1。用keytool来创建一个密匙(同时指定时效,多久会过期,默认只给 6个月)

2。用JARSigner用此密匙为JAR签名。

可以用同一个密匙来为多个JAR签名。

注意:大小写,签名一致,数字签名过期

为什么JAR要被签名?当用户启动一个Java Network Launching Protocol (JNLP,Java网络加载协议)文件或使用一个applet时,这个JNLP或applet可能请求系统提供一些非一般的访问。比如“文件打开”等进行这样的请求,就需要签名的JAR。

如果它是匿名的,系统会询问用户是否打算信任JAR的签署者。

1.首先生成签名文件,执行完成后,会在本目录内生成一个.keystore的密钥文件,2kByte大小。

yourProj是别名 keypass后面是密文密码,keystore密码是存储密码(要改变此文时需要输入确认此密码)

在dos命令提示状态下输入

C:/Documents and Settings/Administrator>keytool -genkey -alias yourProj -keypas

s yourCompany:Kouling

[回车],屏幕提示:

输入keystore密码:  yourCompany:yourPassword

您的名字与姓氏是什么?

[Unknown]:  ChinayourCompany

您的组织单位名称是什么?

[Unknown]:  ChinayourCompany.com

您的组织名称是什么?

[Unknown]:  Company

您所在的城市或区域名称是什么?

[Unknown]:  City

您所在的州或省份名称是什么?

[Unknown]:  Province

该单位的两字母国家代码是什么

[Unknown]:  CN

CN=ChinayourCompany, OU=ChinayourCompany.com, O=Company, L=City, ST=Province, C=CN 正确

吗?

[否]:  Y

2.为此密钥加 有效期限:7200天,将近20年. [嘿嘿,足够用了吧? 再也别想6个月]

输入命令:

C:/Documents and Settings/Administrator>keytool -genkey -alias yourProj -keypass yourCompany:Kouling -selfcert -validity 7200

屏幕提示:

输入keystore密码:  yourCompany:yourPassword

注意:-validity 7200 这个就是加时效的参数,7200单位是“天”。

检查密钥文件,输入命令:

C:/Documents and Settings/Administrator>keytool -list

屏幕提示:

输入keystore密码:  yourCompany:yourPassword

Keystore 类型: jks

Keystore 提供者: SUN

您的 keystore 包含 1 输入

yourProj, 2009-5-15, keyEntry,

认证指纹 (MD5): D4:9D:C7:3A:91:B4:30:6A:4D:50:F1:7C:E7:F5:B9:49

说明已经生成成功完成!

3.开始为Jar包文件签名

用JARsigner工具

切换到项目jar包所在目录

D:/yourPassword's--works/yourProj/webroot/app 的目录

输入dir可以看到:

2009-04-30  18:37   

2009-04-30  18:37   

2009-04-30  17:55            56,317 commons-logging-1.1.jar

2009-04-30  18:37           550,863 yourCompany-app-v1.0.1.jar

输入命令 :

jarsigner -verbose -certs commons-logging-1.1.jar yourProj

注:

verbose输出详细信息

certs表示验证此jar包时输出证书信息

屏幕提示:

输入密钥库的口令短语: yourCompany:yourPassword

输入 yourProj 的密钥口令: yourCompany:Kouling

正在添加: META-INF/YOURPROJ.SF

正在添加: META-INF/YOURPROJ.DSA

正在添加: org/

正在添加: org/apache/

正在添加: org/apache/commons/

正在添加: org/apache/commons/logging/

正在添加: org/apache/commons/logging/impl/

。。。

。。。

接着输入:

D:/yourProj/webroot/app>jarsigner -verbose -certs yourCompany-app-v1.0.1.jar yourProj

屏幕提示:

输入密钥库的口令短语: yourCompany:yourPassword

输入 yourProj 的密钥口令: yourCompany:Kouling

正在添加: META-INF/YOURPROJ.SF

正在添加: META-INF/YOURPROJ.DSA

正在添加: org/

注意:重要签名给yourCompany-app-v1.0.1.jar文件,但它使用了另外的几个commonsxxxx包,也要签名,否则将来使用时会提示签名不一致的错误!

4。打开jar包文件的 META-INF目录可以看到

yourProj.SF

yourProj.DSA

以及被扩充的MANIFEST.MF文件

表明已经加入了签名文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值