- 浏览: 3010227 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 4821.Java的内存机制 Java 把内存划分成两 ... -
监听域对象中属性的变更的监听器
2016-07-18 19:06 1754监听域对象中属性的变更的监听器 域对象中属性 ... -
HttpSessionActivationListener
2016-07-18 18:46 649HttpSessionActivationListe ... -
Web容器监听器(实现在线统计人数,踢人)
2016-07-18 10:48 951Web容器监听器(实现在线统计人数,踢人) Servl ... -
HttpSessionBindingListener接口
2016-07-18 10:29 642HttpSessionBindingListene ... -
ServletRequestAttributeListener接口
2016-07-17 22:24 8342. HttpSessionAttribut ... -
Servlet3中异步Servlet特性介绍
2016-07-17 15:50 846Servlet3中异步Servlet特性介绍 ... -
HttpSessionAttributeListener
2016-07-15 17:49 696HttpSessionAttributeListener ... -
使用ServletContextAttributeListener
2016-07-15 16:47 847使用ServletContextAttr ... -
ServletRequestListener
2016-07-15 16:25 601ServletRequestListener接口 ... -
HttpSessionListener
2016-07-15 14:56 634HttpSessionListener接口 M ... -
ServletContextListener 接口
2016-07-15 12:16 628在 Servlet API 中有一个 Se ... -
ReflectASM,高性能的反射
2016-04-29 17:19 961http://www.oschina.net/p/r ... -
Java多线程与静态方法
2016-04-26 11:52 850Java多线程与静态方法 在多线程中使用静态方法会发生什么 ... -
log4j日志输出格式
2016-04-12 20:58 1117log4j日志输出格式 在LOG4J的配置文件中,l ... -
Servlet3.0
2016-04-12 16:58 698一、Servlet3.0介绍 Servlet3 ... -
log4j2 使用详解
2016-04-12 14:14 1466log4j2 使用详解 转载自 Blog of ... -
Eclipse jar打包和命令行运行
2016-04-08 10:44 2963?Eclipse jar打包和命令行运行 第1步: ... -
GRAPHICSMAGICK+IM4JAVA错误Cannot run program "gm": error=2
2015-05-19 15:27 4112在通过 GRAPHICSMAGICK+IM4JAVA ... -
GraphicsMagick安装、实时生成缩略图
2015-05-19 13:39 2422GraphicsMagick安装、实时生成缩略图 ...
相关推荐
为了使 Applet 在沙箱环境中安全地访问打印机,需要对其进行数字签名。这通常通过 JDK 的 `keytool` 命令来实现。 ##### 1. 生成密钥对与证书 使用 `keytool -genkey` 命令可以生成一个包含公钥、私钥以及自签名...
【微信小程序工具类】wechat-applet-toolkit-master.zip是一个包含一系列用于开发微信小程序的实用工具类的资源包。这个工具集对于微信小程序开发者来说是非常有价值的,因为它可以简化开发过程,提高代码的可重用性...
【微信小程序源码- student-information-system-wechat-applet-master】是一个专门为学校教务管理设计的微信小程序项目。这个源码提供了完整的开发框架和功能模块,旨在帮助开发者快速构建一个高效、便捷的学生信息...
1. **引入依赖**:首先,在项目中引入JasperReports Applet 5.1.0的相关库文件,包括jasperreports-applet-5.1.0.jar。 2. **创建报表**:使用JasperSoft Studio或类似的工具设计报表模板,并将其编译为.JRXML或....
《atmosphere-applet-comet.jar.zip:一个融合Atmosphere、Applet和Comet技术的Java库》 在IT领域,"atmosphere-applet-comet.jar.zip"是一个重要的软件组件,它融合了三个关键的技术:Atmosphere框架、Applet以及...
jasperreports-applet-4.0.2.jar
为了解决这个问题,Java引入了数字签名机制,确保Applet的来源可信且未被篡改。 **数字签名的概念** 数字签名是一种用于验证电子文档完整性和发送者身份的技术。它通过加密算法对数据进行哈希运算,然后使用私钥对...
在JavaApplet中,数字签名是一个至关重要的概念,它确保代码的完整性和来源的可信性,防止恶意篡改。本篇文章将深入探讨JavaApplet的数字签名方法以及如何使用打包签名工具JavaAutoPlug.exe来实现这一过程。 首先,...
Vector离线编辑和预览工具 support svg file support svgz file support vector file
order-applet-master.zip
《资产管理系统:jh1210-asset-management-applet-master.zip 深度解析》 在信息化日益发达的今天,资产管理系统的应用变得越来越普遍。它能够有效地帮助企业、机构管理其固定资产,提高资产利用率,降低运营成本。...
"mall-applet-master.zip" 是一个压缩包文件,其内容看起来是某个基于微信小程序的电商应用的源代码库,名为 "mall-applet-master"。由于没有具体的标签信息,我们可以从一般的电商小程序开发的角度来探讨相关的知识...
atmosphere-applet-comet.jar
当我们谈论"abcdefzz-applet-master.zip"时,我们可以推测这可能是一个Java Applet项目的源代码库。Applet是Java的一种特殊类型,它允许在浏览器中运行Java程序,为用户提供交互式的网页体验。 Applet的概念起源于...
本资源“wechat_mall_applet-master.rar”提供了一个精心设计的商城小程序模板,它具备多功能分类、现代化界面和易用性,为开发者提供了快速构建线上商城的便利。 一、小程序概述 微信小程序是腾讯公司推出的一种轻...
plasma-applet-active-window-control, 用于控制当前活动窗口的等离子 5小程序 plasma-applet-active-window-control请注意,本项目正在KDE伞下移动。 因此,请在适当的位置进行进一步的翻译或者请求请求: ...
"indicator-applet-0.3.1.tar.gz" 是一个在Linux操作系统环境下常见的软件包文件。这个文件的名称表明它是一个版本为0.3.1的"indicator-applet"组件,采用tar.gz格式进行压缩。在Linux世界里,这种文件格式通常用于...
JAVA实战项目源码-计算机毕业设计java专业-java+applet-聊天系统-基于JAVA的ICQ系统的设计于实现 系统可以采用任何一种流行的,Java支持的数据库,本系统采用了Microsoft公司的SQL Server2000作为后台数据库。通过...