扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
keytool -genkey -alias mykey -keystore mykeystore -keypass mypass -storepass mykeystorepass -validity 80 -dname "cn=Henry Zhou, ou=JavaSoft, l=SZ, S=JS, o=Lively, c=CN" |
-dname 参数说明如下:
4 .执行完毕在WEB-INF/classes目录下生成一个名mykeystore的密钥文件,下面要用此密钥文件对jar文件进行加密:
jarsigner -keystore mykeystore helloworld.jar mykey |
helloworld.jar mykey :指定要签名的jar文件和密钥的别名
运行命令后会提示输入密钥密码和密钥数据库密码:
签名者证书将在六个月内过期。
由于安全原因,在上面的命令中无法指定密钥密码和密钥数据库密码,即使运行:
jarsigner -keystore mykeystore helloworld.jar mykey -keypass mypass -storepass mykeystorepass |
仍然会提示输入密钥密码和密钥数据库密码。
注:
其中keytool的详细参数说明可以在sun网站上查询ttp://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/keytool.html
其中jarsigner命令行的详细参数可以在sun网站上查询http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/jarsigner.html
5. 执行后在helloworld.jar/META-INF中可以看到生成MYKEY.DSA和MYKEY.SF文件(可以通过-sigFile MKSIGN指定生成 "MKSIGN.SF"和"MKSIGN.DSA")。
其中SF文件包含了JAR中所有类的一个列表,保存了签名过程中使用的摘要算法。DSA文件是一个二进制密匙文件。扩展名是DSA还是RSA取决你使用的签名算法,默认是DSA,可以在keytool参数中指定RSA算法。
6 .把生成的helloworld.jar包拷贝到webstart/jar/jws目录下。
7 .在webstart/jnlp/HelloWorld.jnlp中添加:
<security> <all-permissions/> </security> |
增加了签名后,如果缺少<security><all-permissions/></security>
启动/运行应用程序时发生错误。
标题:JNLP Argument Solution
供应商:Lively
类别:安全错误
access denied (java.io.FilePermission E:\test.txt write) |
8. webstart 工程放入tomcat/webapps,启动tomcat即可,链接jnlp后发现E盘新建一test.txt文件,测试成功。
注: 网上介绍有时候需要在webstart/WEB-INF/web.xml文件中配置:
<mime-mapping> <extension>jnlp</extension> <mime-type>application/x-java-jnlp-file</mime-type> </mime-mapping> |
在tomcat5.5.20中测试发现不需要在web.xml中添加此代码。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者