zoukankan      html  css  js  c++  java
  • [VRclassroom开发之二][javaChatRoom之一java文件打包、签名]解决java applet与服务器端进行socket通信的安全限制

    由于安全性限制,applet尽可以运行在sandbox里,不可以访问客户端文件系统、也不可以与第三方服务器进行通信。

    但在我这里applet并不能和任一服务器通信(这句话是不对的,其实第三方服务器指的是web服务器以外的,我写的applet是client用socket和server通信,server和web服务器不是同一个服务器虽然都在同一台机器中运行),解决办法:

    可以修改本地的java安全策略(需同时修改客户端,不合适应为项目客户端用的是旧的ie jvm,根本找不到java.policy文件)

    也可以通过签名applet文件实现,方法如下:

    一、编写java applet文件

    二、将java小程序打包
     
    jar cvf MyClient.jar PizzaOrderApplet.class

    当然可以用*.class 打包 当前目录下所有的class文件

    三、编写html文件,包含标签

    <applet codebase="." code="PizzaOrderApplet.class" archive="MyApplet.jar" width=400 height=480></applet>
    !PizzaOrderApplet.class是从归档文件MyApplet.jar中获得的。

    四、对MyApplet.jar签名

    (1)生成名为MyClient.store的密钥库


    keytool -genkey -keystore MyClient.store -alias MyClient

    (2)导出名为MyClient.cer数字证书

    keytool -export -keystore MyClient.store -alias MyClient -file MyClient.cert

    (3)对MyClient.jar文件进行签名

    jarsigner -keystore MyClient.store MyClient.jar MyClient

    注意:最后,应将项目部署到本地服务器,否则appletviewer仍然会出安全性错误,访问被deny

    有些还不是很明白,上面这个是为什么。

    参考资料:http://www.cnblogs.com/diyunpeng/archive/2012/01/09/2317234.html

  • 相关阅读:
    dns解析后ping的居然不是自己的ip
    Ubuntu修改默认使用的bash
    安装 libbpg
    libnccl安装
    安装opencv
    tcpdump使用
    jQuery类操作
    jQuery对象和DOM对象的相互转换
    jQuery入口函数
    什么是外边距重叠?重叠的结果是什么?
  • 原文地址:https://www.cnblogs.com/wanping/p/2399423.html
Copyright © 2011-2022 走看看