6

HTMLページでアプレットを動作させるのに問題があります。アプレットクラスからソケット接続を削除し、HTMLページでアプレットをテストすると、アプレットが表示されますが、クラスファイルにソケット接続を追加し直すと、アプレットが表示されず、Javaコンソールがスタックトレースなしで表示されます。ソケット接続を使用しているため、これがセキュリティ上の理由であると確信しています。そのため、署名されたjarファイルを作成し、それをアプレットタグに次のように配置しました。

<APPLET codebase="classes" archive="captureaudio/AppletTest.jar" code="captureaudio/AppletTest.class" width=350 height=200></APPLET>

しかし、この署名の作成は機能していません。

誰かがこれを手伝ってくれますか?

更新しました

アンドリュー・トンプソンに応えて

  1. デジタル署名されたコードを受け入れるように求められないimはありません
  2. 現在テスト中のアプレットはローカルではありません
  3. はい、アプレットはサーバーに接続しようとしています。サーバーはローカルで実行されています
  4. Javaコンソールに例外が表示されていないかどうかわかりません。

署名されたJARファイルを作成した方法

私のアプレットの名前空間はcaptureaudio.AppletTestクラスです

クラスファイルが配置されているcmdプロンプトで:

  1. ここでkeytool.exeを使用する必要があります。ここで、アプレットのjar署名を作成する方法を見つけました。www.xinotes.org/ notes / note / 434 /

  2. jar -cf AppletTest.jar AppletTest.class

  3. > jarsigner AppletTest.jar MyCert警告:このjarには、署名者証明書が6か月以内に期限切れになるエントリが含まれています

4.> jarsigner -verify -verbose -certs AppletTest.jar

sk 153 Thu Oct 13 11:28:38 BST 2011 META-INF / MANIFEST.MF

  X.509, CN=xxxxx, OU=None, O=None, L=xxxxx, ST=xxxxx, C=GB (myce

rt)[証明書は10/01/1220:55に期限切れになります]

     315 Thu Oct 13 11:28:40 BST 2011 META-INF/MYCERT.SF
    1352 Thu Oct 13 11:28:40 BST 2011 META-INF/MYCERT.RSA
       0 Thu Oct 13 11:28:10 BST 2011 META-INF/

smk 11015 Thu Oct 13 10:49:08 BST 2011 AppletTest.class

  X.509, CN=xxxxxx, OU=None, O=None, L=xxxxxxxx, ST=xxxxx, C=GB (myce

rt)[証明書は10/01/1220:55に期限切れになります]

s=署名が検証されましたm=エントリがマニフェストにリストされていますk=キーストアで少なくとも1つの証明書が見つかりましたi=IDスコープで少なくとも1つの証明書が見つかりました

jarが検証されました。

JAVAコンソール

Javaプラグイン10.0.0.147JREバージョン1.7.0-b147JavaHotSpot(TM)クライアントVMの使用

ユーザーのホームディレクトリ=C:\ Users \ xxxxxxx

c:コンソールウィンドウをクリアしますf:ファイナライズキューでオブジェクトをファイナライズしますg:ガベージコレクションh:このヘルプメッセージを表示しますl:クラスローダーリストをダンプしますm:メモリ使用量を出力しますo:ログをトリガーしますq:コンソールを非表示にしますr:ポリシー構成をリロードしますs:システムをダンプしますデプロイメントプロパティt:スレッドリストのダンプv:スレッドスタックのダンプx:クラスローダーキャッシュのクリア

0-5:トレースレベルをに設定

bootclasspathから検出:C:\ PROGRA〜1 \ Java \ jre7 \ lib \ deploy.jar

アップデート

フォルダの場所

 web root> 
------AppletTest.jar
------classes>
-----------captureaudio>
---------------------AppletTest.class    
4

1 に答える 1

0

Java Network Launching Protocol (JNLP) を使用します。これがアプレットを配布する正しい方法です。はい、ソケット機能にアクセスするには、署名する必要があります。

http://en.wikipedia.org/wiki/Java_Web_Start#Java_Network_Launching_Protocol_.28JNLP.29 http://www.oracle.com/technetwork/articles/javase/jnlp-142088.html

于 2013-04-30T20:37:51.540 に答える