JAVA JNLP组件数字签名制作步骤

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    <DIR>          .
2009-04-30 18:37    <DIR>          ..
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/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwpdjz.html