- 浏览: 2964441 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (893)
- android (110)
- iphone (198)
- java (79)
- JavaScript手册-目录 (9)
- JavaScript手册-Array (19)
- JavaScript手册-Boolean (5)
- JavaScript手册-Date (50)
- JavaScript手册-Math (30)
- JavaScript手册-Number (14)
- JavaScript手册-RegExp (7)
- JavaScript手册-String (38)
- JavaScript手册-全局函数 (8)
- JavaScript实用脚本 (7)
- Others (21)
- java-jpcap (7)
- java-thread (1)
- ibm文章 (3)
- classloader (2)
- java-filter (2)
- 运行环境 (33)
- java-正则 (2)
- oracle (1)
- linux-shell (26)
- wap (1)
- sqlite (3)
- wow (1)
- jvm (1)
- git (5)
- unity3d (29)
- iap (2)
- mysql (23)
- nginx (14)
- tomcat (9)
- apache (2)
- php (1)
- ubuntu (40)
- rsa (1)
- golang (21)
- appstore (5)
- sftp (2)
- log4j (2)
- netty (18)
- 测试工具 (6)
- memcache (5)
- 设计模式 (1)
- centos (8)
- google_iab (5)
- iOS专题 (4)
- mac (10)
- 安装配置帮助手册 (2)
- im4java_graphicsmagick (5)
- inotify-tools (1)
- erlang (6)
- 微信支付 (1)
- redis (8)
- RabbitMQ (5)
最新评论
-
heng123:
Netty视频教程https://www.douban.com ...
netty4.0.23 初学的demo -
maotou1988:
使用Netty进行Android与Server端通信实现文字发 ...
netty4.0.23 初学的demo -
码革裹尸:
非常感谢,正好用上
android 呼入电话的监听(来电监听) -
rigou:
提示的/222.177.4.242 无法链接到ip地址,是什 ...
通过 itms:services://? 在线安装ipa ,跨过app-store -
duwanbo:
GridView与数据绑定
★★★ 本篇为原创,需要引用转载的朋友请注明:《 http://stephen830.iteye.com/blog/254549 》 谢谢支持! ★★★
本篇将讲述2个问题:
(1)applet如何进行数字签名?
(2)applet如何访问本地的windows注册表?
applet作为java唯一的一种运行在浏览器客户端的小程序,在项目中有时候也会起到很关键的作用。applet如果需要访问一些本地资源(这是指客户终端电脑中的资源),那么该applet必须要经过数字签名,而且客户在使用applet前必须接受你设定的数字签名,这样applet才允许访问你所需要的本地资源,比如访问本地的注册表。
(1)如何进行数字签名?
首先将你写好的applet生成jar包,如果用的是eclipse的话,你可以直接用eclipse的Export菜单将写好的applet生成一个jar文件。具体方法如下图:
这样子就生成jar文件了。
接下来就要对jar文件进行数字签名了。首先打开一个dos窗口,进入到你安装的jdk目录下的bin目录。运行下面的命令:
keytool -genkey -alias loginKey -keystore mylogin.key
按照命令出现的提示依次回答,其中第1项是要求输入密码,这个必须记下来,等下会用到的。
当完成上面的操作后,就可以在这个bin目录中看到一个签名文件mylogin.key,然后把jar文件复制到bin目录下,再执行下面的命令:
jarsigner -keystore mylogin.key login.jar loginKey
其中的[mylogin.key]和[loginKey]分别是前面keytool命令中的[mylogin.key]和[loginKey],login.jar就是你的jar文件名。
命令运行后,会要求你输入前面设置的密码。
这样,你的jar文件就经过数字签名了。然后把签名后的jar文件复制到你的前台展示html页面的同一个目录下,将applet嵌在html页面中。
当客户打开你的html页面时会弹出一个要求接受数字签名证书的对话框。
(2)如何访问本地的windows注册表?
applet访问本地windows注册表是有限制的,只能对[HKEY_CURRENT_USER\Software\JavaSoft\Prefs]下面的进行操作。其余的一概不允许操作。
把applet、数字证书签名、访问本地windows注册表结合起来,把用户的登录和注册表结合起来,进行双重认证,相对更加安全一点。
本篇将讲述2个问题:
(1)applet如何进行数字签名?
(2)applet如何访问本地的windows注册表?
applet作为java唯一的一种运行在浏览器客户端的小程序,在项目中有时候也会起到很关键的作用。applet如果需要访问一些本地资源(这是指客户终端电脑中的资源),那么该applet必须要经过数字签名,而且客户在使用applet前必须接受你设定的数字签名,这样applet才允许访问你所需要的本地资源,比如访问本地的注册表。
(1)如何进行数字签名?
首先将你写好的applet生成jar包,如果用的是eclipse的话,你可以直接用eclipse的Export菜单将写好的applet生成一个jar文件。具体方法如下图:
这样子就生成jar文件了。
接下来就要对jar文件进行数字签名了。首先打开一个dos窗口,进入到你安装的jdk目录下的bin目录。运行下面的命令:
keytool -genkey -alias loginKey -keystore mylogin.key
按照命令出现的提示依次回答,其中第1项是要求输入密码,这个必须记下来,等下会用到的。
当完成上面的操作后,就可以在这个bin目录中看到一个签名文件mylogin.key,然后把jar文件复制到bin目录下,再执行下面的命令:
jarsigner -keystore mylogin.key login.jar loginKey
其中的[mylogin.key]和[loginKey]分别是前面keytool命令中的[mylogin.key]和[loginKey],login.jar就是你的jar文件名。
命令运行后,会要求你输入前面设置的密码。
这样,你的jar文件就经过数字签名了。然后把签名后的jar文件复制到你的前台展示html页面的同一个目录下,将applet嵌在html页面中。
<applet archive="login.jar" code="com.soft4j.Login.class" codebase="." name=Login style="HEIGHT: 40px; WIDTH: 500px; border:1px solid #CCC;" ></applet>
当客户打开你的html页面时会弹出一个要求接受数字签名证书的对话框。
(2)如何访问本地的windows注册表?
applet访问本地windows注册表是有限制的,只能对[HKEY_CURRENT_USER\Software\JavaSoft\Prefs]下面的进行操作。其余的一概不允许操作。
package com.soft4j; import java.applet.Applet; import java.awt.Label; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.net.URL; import java.util.prefs.Preferences; import javax.swing.JButton; import javax.swing.JPasswordField; import javax.swing.JTextField; /* * Created on 2006-3-20 * Author stephen * Email zhoujianqiang AT gmail DOT com * CopyRight(C)2005-2008 , All rights reserved. */ /** * * @author stephen * @version 1.0.0 * */ public class Login extends Applet implements ActionListener{ /* * applet 签名步骤: * 1.生成jar文件 * jar命令 * 2.生成key * keytool -genkey -alias key名字 -keystore key文件名 * 3.签名jar文件 * jarsigner -keystore key文件名 login.jar key名字 */ /** * 构造方法 */ public Login() { super(); } JTextField userName = null; JPasswordField userPass = null; String key = null; Label l1, l2; JButton button = null; /** * 初始化 */ public void init() { l1 = new Label("姓名:"); l2 = new Label("密码:"); userName = new JTextField(10); userPass = new JPasswordField(10); button = new JButton("登录"); add(l1); add(userName); add(l2); add(userPass); add(button); userName.addActionListener(this); userPass.addActionListener(this); button.addActionListener(this); } /** * 动作事件 */ public void actionPerformed(ActionEvent e) { URL url = null; StringBuffer theUrl = new StringBuffer(); try { Preferences prefsdemo = Preferences.userRoot().node("/fileds");//读取数据 HKEY_CURRENT_USER\Software\JavaSoft\Prefs\fileds key = prefsdemo.get("key1",null);//读取数据 HKEY_CURRENT_USER\Software\JavaSoft\Prefs\fileds下的key为key1的值 if(this.getParameter("url")==null || "".equals(this.getParameter("url"))){ URL srcUrl = null; srcUrl = this.getDocumentBase(); theUrl.append(srcUrl.getProtocol()); theUrl.append("://"); theUrl.append(srcUrl.getAuthority()); String path = srcUrl.getPath(); int len = path.lastIndexOf("/"); path= path.substring(0,len+1); theUrl.append(path); }else{ theUrl.append(this.getParameter("url")); } theUrl.append("l");//其中l是WEB应用中设置的servlet theUrl.append("?l="); theUrl.append(userName.getText()); theUrl.append(","); theUrl.append(userPass.getPassword()); theUrl.append(","); theUrl.append(key); url = new URL(theUrl.toString()); } catch (Exception e1) { e1.printStackTrace(); } this.getAppletContext().showDocument(url); } }
把applet、数字证书签名、访问本地windows注册表结合起来,把用户的登录和注册表结合起来,进行双重认证,相对更加安全一点。
- Login.java.zip (1.3 KB)
- 下载次数: 39
发表评论
-
Java的内存机制
2016-08-22 13:27 4411.Java的内存机制 Java 把内存划分成两 ... -
监听域对象中属性的变更的监听器
2016-07-18 19:06 1696监听域对象中属性的变更的监听器 域对象中属性 ... -
HttpSessionActivationListener
2016-07-18 18:46 597HttpSessionActivationListe ... -
Web容器监听器(实现在线统计人数,踢人)
2016-07-18 10:48 908Web容器监听器(实现在线统计人数,踢人) Servl ... -
HttpSessionBindingListener接口
2016-07-18 10:29 600HttpSessionBindingListene ... -
ServletRequestAttributeListener接口
2016-07-17 22:24 7842. HttpSessionAttribut ... -
Servlet3中异步Servlet特性介绍
2016-07-17 15:50 797Servlet3中异步Servlet特性介绍 ... -
HttpSessionAttributeListener
2016-07-15 17:49 646HttpSessionAttributeListener ... -
使用ServletContextAttributeListener
2016-07-15 16:47 789使用ServletContextAttr ... -
ServletRequestListener
2016-07-15 16:25 561ServletRequestListener接口 ... -
HttpSessionListener
2016-07-15 14:56 592HttpSessionListener接口 M ... -
ServletContextListener 接口
2016-07-15 12:16 577在 Servlet API 中有一个 Se ... -
ReflectASM,高性能的反射
2016-04-29 17:19 922http://www.oschina.net/p/r ... -
Java多线程与静态方法
2016-04-26 11:52 806Java多线程与静态方法 在多线程中使用静态方法会发生什么 ... -
log4j日志输出格式
2016-04-12 20:58 1063log4j日志输出格式 在LOG4J的配置文件中,l ... -
Servlet3.0
2016-04-12 16:58 647一、Servlet3.0介绍 Servlet3 ... -
log4j2 使用详解
2016-04-12 14:14 1407log4j2 使用详解 转载自 Blog of ... -
Eclipse jar打包和命令行运行
2016-04-08 10:44 2901?Eclipse jar打包和命令行运行 第1步: ... -
GRAPHICSMAGICK+IM4JAVA错误Cannot run program "gm": error=2
2015-05-19 15:27 4063在通过 GRAPHICSMAGICK+IM4JAVA ... -
GraphicsMagick安装、实时生成缩略图
2015-05-19 13:39 2364GraphicsMagick安装、实时生成缩略图 ...
相关推荐
微信小程序源码- student-information-system-wechat-applet-master 学校教务系统小程序源码
【经典小程序工具类】wechat-applet-toolkit-master.zip
jasperreports-applet-4.0.2.jar
Applet做数字签名,授予访问本地资源
个人创作的微信小程序,可作为模板练习使用,已开放接口,详情见博文:https://blog.csdn.net/Cxk___/article/details/108298897
jasperreport 报表打印客户端使用applet打印。
mall-applet-master
Vector离线编辑和预览工具 support svg file support svgz file support vector file
atmosphere-applet-comet.jar
abcdefzz-applet-master.zip
标签:atmosphere-applet-comet.jar.zip,atmosphere,applet,comet,jar.zip包下载,依赖包
wechat-applet-php_源码.zip
plasma-applet-active-window-control, 用于控制当前活动窗口的等离子 5小程序 plasma-applet-active-window-control请注意,本项目正在KDE伞下移动。 因此,请在适当的位置进行进一步的翻译或者请求请求: ...
JAVA实战项目源码-计算机毕业设计java专业-java+applet-聊天系统-基于JAVA的ICQ系统的设计于实现 系统可以采用任何一种流行的,Java支持的数据库,本系统采用了Microsoft公司的SQL Server2000作为后台数据库。通过...
jh1210-asset-management-applet-master.zip 资产管理系统
java applet 数字签名按步骤添加策略文件可以解决applet在浏览器中访问本地的安全问题
indicator-applet-0.3.1.tar.gz
微信小程序qcloud-applet-album.7z
parking_system_applet-master