JAva applet署名

3871 ワード

キーワード:jarsigner証明書チェーンが見つかりません
注意:JAVAはインストール版を使ったほうがいいです.そうしないと、ブラウザにappletプラグインが見つからないかもしれません.
詳細については、次のコードを参照してください.
 
1、Applet類
 
 
package com;
import java.applet.*;
import java.awt.*;
import java.io.IOException;
public class HelloApplet extends Applet {
     public void paint(Graphics g) {
            g.drawRect(0, 0, 499, 149);
            g.drawString("Hello World", 5, 70);
     }
     /**
      *   applet        
      */
     public void openApp() {
            String url = "C:\\WINDOWS\\system32\\calc.exe";
            System.out.println("url=" + url);
            try {
                   Runtime.getRuntime().exec(url);
            } catch (IOException e) {
                   e.printStackTrace();
            }
     }
}

 2、このapplet.jarのJSPページを呼び出す
 
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>demo</title>
</head>
<body>
      <APPLET CODE="com.HelloApplet.class" id="helloApplet" codebase="." ARCHIVE = "test_applet.jar" WIDTH="500" HEIGHT="150">
      </APPLET>
      <p><a href="#" onclick="openApp()">   </a></p>
      <script type="text/javascript">
      function openApp()
      {
        var helloApplet = document.getElementById("helloApplet");
        helloApplet.openApp();
      }
      </script>
</body>
</html>

 
 
Appletでwindowsシステムを呼び出したコンピューティングは、appletの砂箱メカニズムに基づいてアクセス不可能であり、アクセスするにはtest_Applet.jarに署名します.(恥ずかしいことにtest_applet.jarを再生成したばかりで、署名していないし、calc.exeにもアクセスできるようですが、おかしいですね)
 
 
1、鍵庫の生成
 
keytool -genkey -keystore hello.store -alias hello

 
2、証明書の作成
keytool -export -keystore hello.store -alias hello -file
hello.cert

 
 
3、キーストアとtest_Applet.jarバインド
jarsigner -keystore hello.store test_applet.jar  hello

 
4、test_を見るApplet.jarの署名
 
jarsigner -verify -verbose -certs test_applet.jar

 
refurl: http://hi.baidu.com/dobodo/item/2552fc01d26296d11ff046b9
 
http://blog.csdn.net/jacksonlai/article/details/2833221
 
 
 またjava.policyの位置に注意:
Appletがローカルプログラムを呼び出す場合、java.policyを変更する必要があります.このjava.policyの位置は、C:Program FilesJavajre 6libsecurityで、C:/Program Files(x 86)/Java/jdk 1.6.0_ではありません.35/JRE/の位置に注意!
 
============================================================
Appletで生成されたボタンを添付し、このボタンを直接クリックしてサーバと通信します.
refurl: http://www.cafeaulait.org/course/week6/13.html
 
============================================================
Appletがサードパーティjarを呼び出す場合はarchive属性に入れ、複数ある場合はカンマで区切る必要があります.
 
Ref url: http://aspnetdb.iteye.com/blog/619844