zoukankan      html  css  js  c++  java
  • 给jar包进行数字签名(2014-06-28记)

    整理一下两年前用到的一些资料。
    为了使Applet或者Java Web Start程序能够访问客户端本地资源,需要对Applet或者JWS程序jar包进行数据签名,当客户端打开Applet或者JWS程序的时候,会提示是否允许该程序访问本地资源,允许访问则程序就可以按照某种访问权限访问客户机的本地资源了。
    签名步骤:
    1、将程序打成jar包。

    2、 用keytool命令生存.store(密匙库)文件。
    (1)、keytool.exe文件在JDK安装目录下(C:Program FilesJavajdk1.6.0_33in)
            在DOC命令下输入:cd C:Program FilesJavajdk1.6.0_33in
    (2)、再输入指令:keytool -genkey -keystore mystore.store -alias mystore -validity 3650
            输入指令后回车,会提示输入store密码、名字与姓氏、组织单位名称、组织名称、所在城市或区域名称、州或省份名称、单位的两字母国家代码;依次输入完成最后提示是否正确,输入y确认信息,提示输入主密码,如果和keystore密码相同直接回车完成。这样在目录C:Program FilesJavajdk1.6.0_33in下面就生成了一个mystore.store文件。
    注:mystore.store为密匙库名称,可以随意改但后缀不能改;-alias后面的mystore为别名,可以改成自己的名称;-validity后面的3650表示的是10年(用这个证书签名的程序10年内有效)

    3、 使用keytool.exe工具导出签名时用到的证书。
    (1)、在DOS窗口执行命令:keytool -export -keystore mystore.store -alias mystore -file mystore.cert
    命令执行成功后,会在目录C:Program FilesJavajdk1.6.0_33in下生成了一个mystore.cert文件。
            注:mystore.store为第二步骤生成的密匙库名称、mystore也是第二步骤指定的别名、mystore.cert为生成的证书名称,可修改名称,但后缀不能修改。
     
    4、使用jarsinger工具签名jar包。
    (1)、 jarsigner.exe文件在JDK安装目录下(C:Program FilesJavajdk1.6.0_33in)
            在第2步骤 DOS窗口中输入指令:jarsigner -keystore mystore.store app.jar mystore
            回车,依次按提示操作直到结束。
               注:mystore.store为第二步骤生成的密匙库名称、app.jar为第1步骤打包的jar、mystore为提供者的名称,此处我们设置为我们的别名。
    到此已经给jar数字签名完成。

    还有一点要说的是Applet的权限问题, 要让Applet可以对本地的所有文件进行读写操作还需要配置C:Program FilesJavajdk1.6.0_33jrelibsecurity目录下的java.security文件如下:grant {permission java.security.AllPermission; }; 
     (完成1~3步骤后,以后要用当前的签名密匙库和证书签名其他的jar包只需要执行第4步骤即可。)
    附图:
     
  • 相关阅读:
    html抽取文本信息-java版(适合lucene建立索引)
    【LeetCode with Python】 Sort List
    POJ 2533 Longest Ordered Subsequence(dp LIS)
    Activity 之间 传递 List 封装的对象或者对象
    mongo数据库--非关系型数据库
    cocos2d-x的声音控制
    CSDN博客积分规则
    怎样使用递归实现归并排序
    android中9-patch图片的使用
    Cocos2d-x-3.0环境搭建
  • 原文地址:https://www.cnblogs.com/lyxy/p/5549973.html
Copyright © 2011-2022 走看看