等我签了名,一下子开两个SOCKET连接,一个传数据,一个测速度;
解决方案 »
- 新手求教:读取文件时,输出的中文是乱码,代码如下:求问各位高手问题出在哪里啊?该怎么改正?
- java Date Calendar 疑惑
- 请高手赐教~!为什么不能成功输出文件?
- java,在JTextArea文本区右击出现类似记事本中快捷菜单的效果
- 如何比较两张结构相同的表,找出差异?
- 那里下Java2核心技术卷I 电子版 100分送上
- Socket读取不到对象 求指点
- 接口Comparable的问题
- 不用JDBC-ODBC Bridge,可以连接MS SQL Server 2000吗?
- 在jpanel上画图出现闪现的情况
- 用window messenger开发类似MSN messenger
- 关于时间函数
permission java.security.AllPermission;
};
1) 写代码
我们准备开发一个既是APPLET又是APPLICATION的程序,使得程序既能在浏览器中运行,直接双击JAR文件也可以运行。
程序界面采用了SWING控件,使用JInternalFrame来展示通过文件选择框指定的GIF或JPG图片。
程序文件:Jtest.java, ExampleFileFilter.java。
程序编译完成后,假定所有的class文件位于d:\myapplet下面。2)生成jar文件
创建一个manifest.mf文件位于d:\myapplet下面,文件内容:
Manifest-Version: 1.0
Main-Class: Jtest
Created-By: 1.4.0-beta2 (Sun Microsystems Inc.)
执行命令:jar cvfm manifest.mf Jtest.jar *.class
则生成Jtest.jar文件,此时双击该文件即能以application的形式运行。3)准备HTML文件
创建一个HTML文件Jtest.htm, 位于d:\myapplet下面,文件内容:
<HTML>
<HEAD>
</HEAD>
<BODY >
<CENTER>
<APPLET code= "Jtest.class" codebase= "." archive ="Jtest.jar" width= 0 height="0">
</APPLET>
</CENTER>
</BODY>
</HTML>
然后需要使用JDK1.4附带的HtmlConverter.exe转换Jtest.htm,使得浏览器能自动下载SUN的JRE1.4。
执行命令:htmlconverter Jtest.htm,生成的Jtest.htm自动包含了下载插件的代码。4) 数字签名
首先是生成公/私密钥对:
keytool –genkey –alias yourname –keypass yourpassword
其中的yourname为密钥的别名,yourpassword为密码,按照提示输入签名信息。然后执行:如果需要导出证书,则执行命令:
keytool –export –alias yourname –file yourname.cer
生成的yourname.cer即为证书文件。不过签名APPLET可以不需要这一步。然后就是对JAR文件进行签名:
jarsigner Jtest.jar yourname
需要输入你在上面步骤中提供的密码。至此签名已经成功。无论是直接打开Jtest.htm文件还是通过服务器下载Jtest.htm和Jtest.jar执行applet,首先会弹出一个提示框,如果用户点接受,则APPLET可以访问本地文件系统以及做其它事情,如果点拒绝则不能访问本地文件系统。当然,如果点总是接受,则以后运行同一个APPLET的时候不会出现提示,自动拥有权限。
一开始的时候我光修改了policy文件,这是不够的,因为客户无法判断现在执行的代码是否是由你发布的,也不能保证这个代码在传输的过程中有没有被人给恶意的破坏。所以还需要数字签名技术来保证这两方面。