1.首先启动
CMD
命令行工具,然后进入到当前的项目目录,运行下面的命令:
keytool -genkey -dname
"cn=BeanSoft Studio, ou=Java Software, o=BeanSoft Studio, c=China" -alias
beansoft -keypass beansoft -storepass beansoft -validity 365 -keystore
.\beansoft
这段命令将会创建一个数字文件放在当前目录的二进制文件beansoft
中。该证书的别名是
beansoft
(通过
-alias
指定),密钥的密码是
beansoft
(
-keypass
命令指定),存储密钥的文件密码也是
beansoft
(
- storepass
命令指定),证书的有效期是
365
天(通过
-validity
指定),
并把它存储到密码文件 beansoft
中。这段命令执行后,没有出错信息的话即是创建成功。另外,如果是实际的项目的话,最好将两个密码设置成安全级别比较高的密码。除了这样来生成一个密钥文件外,还可以用
KeyTool
以交互的方式来生成(比较推荐初学者使用这种方式):
keytool
–genkey
随后,会提示您输入必须或者可选的内容。
2.随后我们可以检查下这份证书文件的内容,执行下面的命令:
keytool -list -keystore
.\beansoft -storepass beansoft
会输出信息:
Keystore
类型:
JKS
Keystore
提供者:
SUN
您的
keystore
包含
1
输入
beansoft, 2008-5-7,
PrivateKeyEntry,
认证指纹
(MD5)
:
16:15:A0:47:92:96:29:96:93:5D:F0:76:F7:D0:2C:84
。这说明证书没有问题。
3.
有时可能需要导出证书供人使用,可以执行下面的命令:
keytool -export
-keystore .\beansoft -storepass beansoft -file beansoft.cer -alias
beansoft
随后会生成一个beansoft.cer
,不过在这里对
Applet
签名是不需要这样做的,只有在做
SSL
开发时,才能用得到它。
4.
随后,请读者按照
16.1.3.1 JAR
文件一节所介绍的内容,将
Applet
的类文件打包成
jar
文件,名为
applets.jar
,放在项目的根目录下。接着就进入最关键的,对
JAR
文件进行签名了,键入下列命令:
jarsigner -verbose
-keystore .\beansoft applets.jar beansoft
接着提示信息为:
输入密钥库的口令短语:beansoft
按下回车,即可看到签名过程:
正在添加:
META-INF/MANIFEST.MF
正在添加:
META-INF/BEANSOFT.SF
正在添加:
META-INF/BEANSOFT.DSA
正在添加:
applets/
正在签名:
applets/FileOperationApplet.class
正在签名:
applets/LifeCycleApplet.class
正在签名:
applets/MyApplet.class
正在签名:
applets/usb.jpg
可以看到META-INF
目录下将会多出两个数字指纹文件,运行的时候
JVM
将会和类文件进行对比,确保文件没被人篡改过。
好了,现在的
applets.jar
已经今非昔比了,它是个被签名过的
JAR
,怎么使用它呢?需要在它所在的同一目录下,即项目根目录下,新建一个
HTML
文件,代码清单如下:
FileOperationAppletSigned.html
<html>
<body>
<applet code=applets.FileOperationApplet.class archive="applets.jar"
width="200"
height="200" >
</applet>
</body>
</html>
|
唯一的不同,就是多了粗斜体的archive="applets.jar"
这句话。
好了,最激动人心的时刻到来了,请用浏览器打开这个网页,会看到一个安全提示,如图
18.7
所示。点击运行
按钮,即可看到正确的执行了操作,在用户的
C
盘上创建了一个文件!很好,我们可以为所欲为了,像写普通
Java
应用那样来写
Applet
了!如果点击取消
按钮,那很自然的无法创建文件,用户拥有选择权,当然,如果是企业的客户,自然都是让他们选择运行按钮。其实通过这里读者也可以注意到,现在好多网站(例如视频分享的网站等),都会提示您下载一些插件提供增强的功能,然而,他们的数字证书和这里的一样,都是自己造的(其实就是伪造
),所以,装完后并不能保证是否夹杂了病毒或者恶意代码,所以读者上网时千万要谨慎识别,不要随意点击在线安装或者运行软件。
18.7
Applet
数字签名安全提示
OK,罗罗嗦嗦的讲了这么老半天,就是希望给那些使用
Applet
的用户提供一个相对完整的实践方案,也许现在能在项目中用到
AWT
,
Swing
的地方,也就剩下
Applet
了。接下来讨论在网页中使用
Applet
的进一步功能:参数传递和调用
JavaScript
。
分享到:
相关推荐
当你applet要进行客户端操作时,如读取本地文件,沙箱原理使你的applet必须得到信任,此时对applet进行签名就可以解决这个问题
applet签名 jar签名工具
对打成jar包的applet进行签名的shell脚本,以保证能在页面上运行 1.GenLicense.sh为生成密钥文件的脚本 该脚本执行会生成.store和.cert两个文件 其中keytool命令中 -keypass changeit //签名的密码为"changeit" ...
applet签名制作,applet签名制作,applet签名制作
所有的Japplet小应用程序要运行访问本地资源的时候,出于安全的考虑,必须要实现数字签名,否则不能访问,此工具自动签名。
可控制键盘按键 当applet用需要签名才有权限
对jar进行签名,使jar可以访问客户端资源
压缩包里面word文件说明了使用JavaApplet时客户端运行jar包的生成方法及如何数字签名,JavaAutoPlug.exe是帮助我们完成打包和签名的一个工具,需安装Framework2.0。
java applet 数字签名按步骤添加策略文件可以解决applet在浏览器中访问本地的安全问题
详细讲解了applet的签名过程,自己亲自试过
基于VTK开源软件包,结合Java applet编程,采用Java applet签名技术对程序进行签名认证。实现了Web方式下DICOM医学图像的三维重建,在重建的三维体上清晰显示出了人体器官的解剖结构,重建可在Internet上以Web模式跨...
NULL 博文链接:https://stephen830.iteye.com/blog/254549
Applet做数字签名,授予访问本地资源
是为软件公司和对数字签名有兴趣的人创造一个环境,以便他们能为开放协作系统开发开 源组件。 OpenOCES项目提供了一个有用的组件——OpenSign,为符合标准的浏览器添加数字签 名功能,而不需要额外的插件。这个...
用Ant技术命令打包Applet并添加数字签名
对Java Applet和Java Web Start进行数字签名
2022年Java2下Applet数字签名Java教程.docx
案例2 MD5的Javabean实现 案例3 用公钥计算消息摘要的验证码 案例4-1 Java中的数字证书的生成及维护方法 案例4-2 数字证书的签发(签名) 案例4-3 利用数字证书给Applet签名 案例5 利用DES加密...
采用Ant来编译工程,并针对Applet进行打包,添加数字签名。