社区
Java
帖子详情
在applet端写文件的程序,可以在本机器上运行成功,却不能在别的机器上运行,为什么??
ideal2004
2005-03-22 10:27:57
我在applet端写文件的程序,已经可以在自己编写applet文件的机器上运行(我用了使数字签名的方法)在别的机器上运行时,却不行,连提示“是否接收该证书”的对话框都没有出现,请问各位该怎么解决?谢谢
...全文
81
4
打赏
收藏
在applet端写文件的程序,可以在本机器上运行成功,却不能在别的机器上运行,为什么??
我在applet端写文件的程序,已经可以在自己编写applet文件的机器上运行(我用了使数字签名的方法)在别的机器上运行时,却不行,连提示“是否接收该证书”的对话框都没有出现,请问各位该怎么解决?谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寒舍人
2005-03-23
打赏
举报
回复
已经转载了 n 遍了 希望对你有用
//------------------------------------------------------------
步骤一:(打包class文件)
在命令行中执行以下的语句:jar -cvf MyApplet.jar class
步骤二:(在网页中嵌入Applet)
这个网页的名字叫做FileReaderApplet.html,下面是嵌入Applet部分的写法:
<APPLET
CODEBASE = "."
CODE = "jcomponent.FileReaderApplet.class"
ARCHIVE ="MyClass.jar"
NAME = "TestApplet"
WIDTH = 400
HEIGHT = 300
HSPACE = 0
VSPACE = 0
ALIGN = middle
>
</APPLET>
完成这个步骤后,这个Applet已经可以显示了。但是还不能读写本地的文件系统。
步骤三:(生成证书及签名)
请在命令行环境下执行以下的命令:
1、keytool -genkey -keystore pepper.store -alias pepper
这个命令用来产生一个密匙库,执行完毕后应该在c:/admin中产生一个pepper.store的文件,这里的pepper是我自己的名字,你可以对它进行修改。另外在执行命令的时候还有提示你输入密匙库的密码,这里你一定要记住,否则后面要用的时候无法输入。
2、keytool -export -keystore pepper.store -alias pepper -file pepper.cert
这个命令用来产生签名时所要用的证书,同样这里的pepper也可以换成你自己需要的名字。这个命令执行完后在c:/admin中产生一个pepper.cert的文件。
4、 jarsigner -keystore pepper.store MyApplet.jar pepper
这个命令用上面产生的证书将我们的jar文件进行了签名。
步骤四:(修改文件)
1、 在c:/admin中产生一个名为applet.policy的文件,其内容如下:
keystore "file:c: /admin/pepper.store", "JKS";
grant signedBy "pepper"
{ permission java.io.FilePermission "<<ALL FILES>>", "read";
};
这个文件让由pepper签名的Applet拥有本地所有文件的读权限。
2、 修改${java.home}/jre/lib/security目录下的java.security,找到下面这两行:
policy.url.1=file:${java.home}/lib/security/java.policy
policy.url.2=file:${user.home}/.java.policy
在下面添写第三行
policy.url.3=file:c: /admin/applet.policy
完成这个修改后我们在前面创建的applet.policy文件才有效。
步骤五:(转换html文件)
运行前面提到的HTMLConvert工具,将原有的FileReaderApplet.html转化成下面的形式:
<!--"CONVERTED_APPLET"-->
<!-- CONVERTER VERSION 1.3 -->
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
WIDTH = 400 HEIGHT = 300 NAME = "TestApplet" ALIGN = middle VSPACE = 0 HSPACE = 0 codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
<PARAM NAME = CODE VALUE = "jcomponent.FileReaderApplet.class" >
<PARAM NAME = CODEBASE VALUE = "." >
<PARAM NAME = ARCHIVE VALUE = "MyApplet.jar" >
<PARAM NAME = NAME VALUE = "TestApplet" >
<PARAM NAME="type" VALUE="application/x-java-applet;version=1.3">
<PARAM NAME="scriptable" VALUE="false">
<COMMENT>
<EMBED type="application/x-java-applet;version=1.3" CODE = "jcomponent.FileReaderApplet.class" CODEBASE = "." ARCHIVE = "MyApplet.jar" NAME = "TestApplet" WIDTH = 400 HEIGHT = 300 ALIGN = middle VSPACE = 0 HSPACE = 0 scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
</NOEMBED></EMBED>
</OBJECT>
<!--
<APPLET CODE = "jcomponent.FileReaderApplet.class" CODEBASE = "." ARCHIVE = "MyApplet.jar" WIDTH = 400 HEIGHT = 300 NAME = "TestApplet" ALIGN = middle VSPACE = 0 HSPACE = 0>
</APPLET>
-->
<!--"END_CONVERTED_APPLET"-->
大家不要看到这里的写法很复杂,但是这些都是由HTMLConvert工具自动实现的。这个工具有命令行和图形界面两种运行方式。
好了,现在这个Applet可以运行读写文件的功能了。如果你要考虑在Internet上实现这个Applet,那么你也不需要在所有的客户端均做上面的步骤,你只需要在你的服务器上创建一个目录,例如c:/admin,将这个目录映射为www.testApplet.com/admin。这里的www.testApplet.com是一个假定的网址,将pepper.cert、pepper.store、FileReaderApplet.html、MyApplet.jar以及applet.policy放在这个目录中,然后修改applet.policy文件如下:
keystore "http:// www.testApplet.com/admin/pepper.store", "JKS";
grant signedBy "pepper"
{ permission java.io.FilePermission "<<ALL FILES>>", "read";
};
3、 而每个客户端仅仅需要修改一下它们的${java.home}/jre/lib/security目录下的java.security文件如下:
policy.url.1=file:${java.home}/lib/security/java.policy
policy.url.2=file:${user.home}/.java.policy
policy.url.3= http:// www.testApplet.com/admin/applet.policy
当然每个客户端还是需要安装JRE的,不过现在的浏览器安装时都已经自动安装了。
yadg
2005-03-22
打赏
举报
回复
贴错了http://forum.java.sun.com/thread.jspa?messageID=3154381
yadg
2005-03-22
打赏
举报
回复
你看看这个http://community.csdn.net/Expert/TopicView.asp?id=3870196,看能不能找出办法来。
yadg
2005-03-22
打赏
举报
回复
哈哈,同病相连啊。我也是,大家看看我的问题http://community.csdn.net/Expert/TopicView.asp?id=3870196
Python 入门到进阶:实战项目清单.doc
Python 入门到进阶:实战项目清单.doc
区块链去中心化存储与 Filecoin 实战.doc
区块链去中心化存储与 Filecoin 实战.doc
Elliptic fitting of molten steel
Elliptic fitting of molten steel
北京航空航天大学考研991数据结构与C语言
程序
设计部分代码实现与真题练习项目_数据结构算法实现_C语言编程练习_历年真题解析_考研复习资料_代码示例库_学习笔记整理_面向北航考研学.zip
北京航空航天大学考研991数据结构与C语言
程序
设计部分代码实现与真题练习项目_数据结构算法实现_C语言编程练习_历年真题解析_考研复习资料_代码示例库_学习笔记整理_面向北航考研学.zip
基于OpenVINO和OpenCV的SqueezeNet图像分类模型性能对比分析项目_深度学习模型推理优化与跨平台部署效率测试_通过比较OpenVINO推理引擎与OpenCV直接加.zip
基于OpenVINO和OpenCV的SqueezeNet图像分类模型性能对比分析项目_深度学习模型推理优化与跨平台部署效率测试_通过比较OpenVINO推理引擎与OpenCV直接加.zip
Java
51,402
社区成员
85,918
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章