いつもお世話になっております。
署名付アプレットの開発を行った方にお聞きしたいのですが、開発用の証明書はどこから入手しているのでしょうか?

環境:JRE1.3+Swing
機能:クライアントのファイルを操作したい

Sunのページ
http://java.sun.com/products/plugin/1.3/docs/ja/ …
を読みながら試そうとしたのですが、証明書が無いので
結局は試せなかったのです。

PS SSL用の証明書と署名付アプレットで試用する証明書は違うものなのでしょうか???

このQ&Aに関連する最新のQ&A

A 回答 (2件)

証明書は入手するものではなく自分で作成します。


JDKのkeytoolを使用して作成することができます。
またjarsignerを使用して作成した証明書のインストールを行います。
詳細はURLを参照して下さい。

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/guide/se …

この回答への補足

ct27様、ご回答ありがとうございます。

しかし、自分で作成した証明書を使って
Policyファイルを書き換えたら、アプレットから
ローカル資源を使用することができたのですが、

Policyファイルを自分で編集しないで、できないかと
考えています。(各ユーザにファイルを編集させたくない)

そのためには、どうすればよいのでしょうか???
つまり、「セキュリティダイアログを表示せたい」のです。

また、ポリシーファイルを書き換えるのであれば、
わざわざ署名付アプレットにする必要も無いと思います。

---
Java Plug-in のユーザが RSA 署名付きアプレットに遭遇すると、Plug-in はアプレットの署名が適正であること、および RSA 証明書連鎖とルート CA が有効であることを確認します。これらすべてが有効な場合、Plug-in によりセキュリティダイアログが開かれ、アプレットに署名したユーザ、および次の 4 つのオプションを示します。

常に許可する: このオプションを選択すると、アプレットには、"AllPermission" が付与されます。同じ証明書を使って署名された署名付きアプレットはすべて、以後自動的に信頼されるため、この証明書への遭遇時にセキュリティダイアログはポップアップしません。この設定は、Java Plug-in コントロールパネルから変更できます。

このセッションで許可する: このオプションを選択すると、アプレットには "AllPermission" が付与されます。同じ証明書を使って署名された署名付きアプレットはすべて、同じブラウザセッション内で自動的に信頼されます。

許可しない: このオプションを選択すると、アプレットには Java Runtime のセキュリティポリシーから適用可能なアクセス権が付与されます。デフォルトでは、信頼されないアプレット用のアクセス権が付与されます。

詳細情報: このオプションを選択すると、JAR ファイルの証明書連鎖内の各証明書の属性を確認できます。
セキュリティダイアログでオプションを選択すると、対応するセキュリティコンテキストでアプレットが実行されます。これらの設定はただちに反映され、事前の構成は必要ありません。

一般的な問題
JAR ファイルの署名が適切に行われていない、RSA 証明書が期限切れになった、または RSA 証明書が自己生成型かつ自己署名型の証明書である場合、Java Plug-in は何も行わずに失敗し、セキュリティダイアログをポップアップ表示しないことがあります。アプレットは、署名がないものとして扱われます。
---

補足日時:2001/10/05 12:03
    • good
    • 0

>Policyファイルを自分で編集しないで、できないかと


>考えています。(各ユーザにファイルを編集させたくない)

 ユーザに編集させるのではなく自分で編集したjava.policyを配布すると
 いう方法はとれないのでしょうか?(その方が一般的のような気が)
 また参考URLにあるのですが
 ---
 インストールした SDK のポリシー構成ファイルでは、指定されたコードソース
 からのコードに対し、どのようなアクセス権 (システムリソースへのアクセスの
 種類) を与えるかを指定します。
 ---
 と記述されているため、アクセス権を与えるためにはやはりjava.policyの
 編集は不可欠だと思います。
 署名付きアプレットは
 http://www.hata.cc/docs/SignedObj/index.html
 で語られているようにsandbox内で動作するように制限されているため
 その制限を解除するのに署名を付加するわけです。

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/guide/se …
    • good
    • 0
この回答へのお礼

ct27様
色々とありがとうございます。
うまく行きました!!!
VeriSignでテストできる証明書は、SSL用だと思っていたの
ですが使えました。

テスト用の証明書なので、CA証明書を仮にクライアントに
インストールする必要がありますが、
ちゃんとセキュリティダイアログが表示されました。
#ダイアログで選択するだけで、ローカルファイルが読めました。

お礼日時:2001/10/07 21:37

このQ&Aに関連する人気のQ&A

RSA とは」に関するQ&A: アルミは錆びるの?

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qimport java.applet.Applet;について

ソースの先頭にimport java.applet.Applet;と書かれたソースをコンパイルすると、ローカルのjava.applet.Appletを読み込んで*.classを作るのだと思うのですが、java.applet.Appletが見つかりません。
普通はどのあたりにあるのでしょうか?

Aベストアンサー

java.applet.AppletクラスはJavaの実行環境(JRE)、またはJavaの開発環境(J2SE)のライブラリとして標準でインストールされています。

具体的には、下記のディレクトリの"rt.jar"に含まれています。(Windowsの場合)

■JRE
 C:\Program Files\Java\<Javaのバージョン>\lib

■J2SE (C:\j2sdk1.4.2にインストールした場合)
 C:\j2sdk1.4.2\jre\lib

通常は、コンパイル時には上記のJ2SE側の rt.jar を使ってコンパイルされるので java.applet.Appletクラスの存在を意識しなくても良いです。
また、実行時には上記のJRE側の rt.jar が使用されます。

ですから、コンパイル時、あるいは実行時にそれぞれのディレクトリに rt.jar がないとエラーが発生します。

ちなみに rt.jar の中身を確認したいのであれば、下記のコマンドをコマンドプロンプトから実行し、出力先のファイルをテキストエディタで開くと確認できます。

 cd C:\j2sdk\jre\lib   ← ディレクトリ移動

 jar tvf rt.jar > C:\Temp\result.txt ← rt.jarの中身をテキストファイルに出力

 notepad C:\Temp\result.txt   ← メモ帳で出力結果を表示


 出力結果のファイルには、java.applet.Appletであれば "java/applet/Applet" のように "." が "/" に置き換わって出力されています。

java.applet.AppletクラスはJavaの実行環境(JRE)、またはJavaの開発環境(J2SE)のライブラリとして標準でインストールされています。

具体的には、下記のディレクトリの"rt.jar"に含まれています。(Windowsの場合)

■JRE
 C:\Program Files\Java\<Javaのバージョン>\lib

■J2SE (C:\j2sdk1.4.2にインストールした場合)
 C:\j2sdk1.4.2\jre\lib

通常は、コンパイル時には上記のJ2SE側の rt.jar を使ってコンパイルされるので java.applet.Appletクラスの存在を意識しなくても良いです。
また、実行時...続きを読む

Q現在出荷中ののWindowsXP SP2には標準でSunのJREがはいっているのでしょうか?

 現在出荷中のWindowsXP SP2には標準でSunのJREがはいっているのでしょうか?
JavaOne Tokyoのガイド(75ページ)を見ていたら
2003年3月(いちばん上のところ)に

「マイクロソフト、米国地裁の裁定に従い、サン製JREを出荷」

と記載されていますが・・・

 そういえば私が最近購入したWindowsXP SP2プリインストールのPCにもダウンロードした記憶が無いのにSunのJRE1.4がはいっていたような気がします(ごめんなさい。うろ覚えです)。

 どなたかJava訴訟に詳しい方よろしく解説お願い申し上げます。

Aベストアンサー

回答がないようなのでちょっと調べてみました。

OEMによっては入っているものもあるかもしれませんが
基本的には入っていないのでは?
OEM版XP_SP2の買ったけどJREは別に入れた気がします。(うろ覚えです)

関連記事です。
http://bizns.nikkeibp.co.jp/cgi-bin/search/wcs-bun.cgi?ID=299830&FORM=biztechnews
MSとSunの和解(2004年4月)
http://www.microsoft.com/japan/windowsxp/pro/evaluation/news/jre.asp
Microsoft、裁判所の裁定に従って、Sun のテクノロジを出荷(2003年3月)
http://internet.watch.impress.co.jp/www/article/2003/0627/java.htm
http://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20030627/6/
Java搭載仮命令の差し戻し(2003年6月)

最後のURLによるとsp2にsunのJREを載せる仮処分は差し戻しになったようです。

回答がないようなのでちょっと調べてみました。

OEMによっては入っているものもあるかもしれませんが
基本的には入っていないのでは?
OEM版XP_SP2の買ったけどJREは別に入れた気がします。(うろ覚えです)

関連記事です。
http://bizns.nikkeibp.co.jp/cgi-bin/search/wcs-bun.cgi?ID=299830&FORM=biztechnews
MSとSunの和解(2004年4月)
http://www.microsoft.com/japan/windowsxp/pro/evaluation/news/jre.asp
Microsoft、裁判所の裁定に従って、Sun のテクノロジを出荷(2003年3月)
http://internet...続きを読む

Q-Applet表示でのjava.lang.ClassNotFoundException-

お世話になります。

只今、Appletの操作を勉強しています。

先日まで動いていた、Appletが急に表示されなくなってしまいました。

「appletviewer」で実行すると表示されるのですが、HTMLを叩くと表示されません。

JAVAコンソールには・・・

java.lang.ClassNotFoundException: javax.swing.JComboBox
at com/ms/vm/loader/URLClassLoader.loadClass (URLClassLoader.java)
at java/lang/ClassLoader.loadClassInternal (ClassLoader.java)
at DemoApplet.init (DemoApplet.java)
at com/ms/applet/AppletPanel.securedCall0 (AppletPanel.java)
at com/ms/applet/AppletPanel.securedCall (AppletPanel.java)
at com/ms/applet/AppletPanel.processSentEvent (AppletPanel.java)
at com/ms/applet/AppletPanel.processSentEvent (AppletPanel.java)
at com/ms/applet/AppletPanel.run (AppletPanel.java)
at java/lang/Thread.run (Thread.java)

・・・と、表示されています。

クラスパスの問題であれば、「appletviewer」でも動かないだろうし・・・何が問題なのでしょうか??

・・・行き詰まってます。

お世話になります。

只今、Appletの操作を勉強しています。

先日まで動いていた、Appletが急に表示されなくなってしまいました。

「appletviewer」で実行すると表示されるのですが、HTMLを叩くと表示されません。

JAVAコンソールには・・・

java.lang.ClassNotFoundException: javax.swing.JComboBox
at com/ms/vm/loader/URLClassLoader.loadClass (URLClassLoader.java)
at java/lang/ClassLoader.loadClassInternal (ClassLoader.java)
at DemoApplet.init (DemoApplet.java)
at com/ms/app...続きを読む

Aベストアンサー

>AppletTest.java:1: パッケージ com.sun.java.swing は存在しません。
import com.sun.java.swing.*;

パッケージ com.sun.java.swingは、swingall.jarにあります。
>javac -target 1.1 -classpath swingall.jar AppletTest.java
のように指定しているようですが、

C:\java\appletに、swingall.jarはありますか?

私が示している例を、分からないまま、そのまま実行するのではなく、
自分の環境に合わせて実行してくださいね。

QJRE1.3.1_06とJRE1.3.1_07のPC内 共存方法

知人の相談なのですが
自治体の電子入札システムで
川崎市の入札画面に入るにはJRE1.3.1_06必須(以下06)
神奈川県入札画面に入るにはJRE1.3.1_07必須(以下07)

入札担当者に聞いたところPC内共存は できないので
神奈川入札時は06削除で07インストール
川崎入札時は07削除で06インストール。という回答。

削除はコントロールパネルからです
削除&インストール&設定は1分もあればOKなのですが

「こんな面倒くさいこと、いちいち やってられない
削除&インストールしなくて すむ方法ないものか?」と
相談持ちかけられました。

はたして PC内でバージョン違いのJava共存はできるのでしょうか?
06 07削除インストールしなくても、各自治体入札画面に
入っていけるように したいのです。

お願いいたします。

Aベストアンサー

件の入札システムを使用したことがないので確実なことはいえませんが…

まずインストール場所は個別に指定できるので両バージョンとも共存できます。
両バージョンの使い分けは環境変数PATHの設定のみです。環境変数はユーザごとにカスタマイズできるので、
川崎市のシステムを使うアカウントと神奈川県のシステムをつかうアカウントを別々に作成しておく、
環境変数を書き換えるバッチを作るなど、手段はいろいろあると思います。

QFirefoxでJava Appletが表示できません

掲題のとおり、IE7で表示されるJava AppletがFirefoxで表示できません。
各Javaコンソール出力は以下の通りで、FirefoxのJRE versionが 1.5.0_12になっていることが原因と思いますが、FirefoxのJRE versionをIEと同じ1.6.0_05にする方法を教えてください。

== Firefox 2.0 の Javaコンソール出力 ===
Java Plug-in 1.5.0_12
使用中の JRE のバージョン 1.5.0_12 Java HotSpot(TM) Client VM

java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

== Internet Explorer 7 の Javaコンソール出力 ===
Java Plug-in 1.6.0_05
使用中の JRE のバージョン 1.6.0_05 Java HotSpot(TM) Client VM

掲題のとおり、IE7で表示されるJava AppletがFirefoxで表示できません。
各Javaコンソール出力は以下の通りで、FirefoxのJRE versionが 1.5.0_12になっていることが原因と思いますが、FirefoxのJRE versionをIEと同じ1.6.0_05にする方法を教えてください。

== Firefox 2.0 の Javaコンソール出力 ===
Java Plug-in 1.5.0_12
使用中の JRE のバージョン 1.5.0_12 Java HotSpot(TM) Client VM

java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defin...続きを読む

Aベストアンサー

このページを読んでください。
http://plugindoc.mozdev.org/windows.html#Java
1.5を、コントロールパネルを使ってアンインストールしてください。
上のページの、Known Issuesのリンクも、読んでください(主にFireFox 3のことが多いが)。

Q署名付きアプレット

はじめまして。久美子といいます。
http://www.mki.ne.jp/developers/doc/sign/SignedApplet.htmlに書いてあるのを参考にしていまして、

1. keytool を使ってキーペアの作成と署名
2. jarsigner を使ってJAR ファイルに対して署名
3. JNLP ファイルの作成
4. keytool -export を使ってキーペアから証明書を
  エクスポート
まで作業してのですが

5.『エクスポートされた証明書 を各クライアントにインポートする。』ができません。
スタート→ファイル名を指定して実行→javawsと入力したら、Java Web Startアプリケーションマネージャーではなく、javaアプリケーションキャッシュビューアが出てきて、それ以降の作業が進めないのです。
ずっと悩んでいまして、教えていただけないでしょうか?
 
------------------------------------
環境
------------------------------------
WinXP
JDK 1.5.0_05

はじめまして。久美子といいます。
http://www.mki.ne.jp/developers/doc/sign/SignedApplet.htmlに書いてあるのを参考にしていまして、

1. keytool を使ってキーペアの作成と署名
2. jarsigner を使ってJAR ファイルに対して署名
3. JNLP ファイルの作成
4. keytool -export を使ってキーペアから証明書を
  エクスポート
まで作業してのですが

5.『エクスポートされた証明書 を各クライアントにインポートする。』ができません。
スタート→ファイル名を指定して実行→javawsと入力したら、Java We...続きを読む

Aベストアンサー

勘で

「Windowsのコントロールパネル」
→Java
→セキュリティ
→証明書

QInternet Explorer で動かないJava Applet?

Java Applet を作りました。
モジラでは問題なく動いたのですが、Internet Explorer (V6.0) では動きませんでした。IEの問題かな、とも思ったのですが、他の人の作ったアプレットは動いているようです。

Javaコンソールには次のようなメッセージが出ていました。
----------------------
Error loading class: myClientApplet1
java.lang.NoClassDefFoundError
java.lang.ClassNotFoundException:
myClientApplet1
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/applet/AppletPanel.securedClassLoad
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.run
at java/lang/Thread.run
----------------------

モジラで動いて IE で動かないというのが良く分からないのですが、プログラミングの改善方法など、アドバイスをいただけないでしょうか?
(バージョンの古いIEだと動いているようです)

Java Applet を作りました。
モジラでは問題なく動いたのですが、Internet Explorer (V6.0) では動きませんでした。IEの問題かな、とも思ったのですが、他の人の作ったアプレットは動いているようです。

Javaコンソールには次のようなメッセージが出ていました。
----------------------
Error loading class: myClientApplet1
java.lang.NoClassDefFoundError
java.lang.ClassNotFoundException:
myClientApplet1
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/vm/loader/URLClassLoader....続きを読む

Aベストアンサー

IEにはそのプログラムをコンパイルしたJ2sdkのバージョンと合うJREがインストールされていないとか!?
あと,ツール→インターネット オプション→詳細設定 でJREのところにチェックが入っていないとか!?
ありふれた回答ですいませんm(__)m

QJAVA-prugin 1.3の署名付きAppletの作り方が知りたい。

こんにちわ。
私は現在、ブラウザ(IE、ネスケ)からローカルの特定のファイルにアクセスする
JAVAアプレットを作成したいと考えていますが

恥ずかしながらデジタル署名とかそのあたりの知識がないので
keytoolとかの使い方がよくわかりません。

なのでその辺の手順が詳しくのったURL等教えていただけないでしょうか?

Aベストアンサー

SDK1.2版ですが1.3と変わりはないと思うので参考になると思います。
あとはSunの提供しているJavadocも参照してください。
Sun→http://java.sun.com/j2se/1.3/ja/docs/ja/index.html

参考URL:http://www.dmz.hitachi-sk.co.jp/Java/Tech/security/12signedapplet.html

Qandroidアプリとjava Appletで

お世話になっています。

ゲームを作る際のことで、
androidでゲームを作るのと、java Appletでゲームをつくるというのは、
作業工程は同じなのでしょうか?

つまり、本来 java Appletでできるものは、androidでもクラスなどの違いはあっても動く、
と言うことなのでしょうか?

お願いします。

Aベストアンサー

Androidアプリを書く際、GUIの部品はほぼすべてAndroid用のクラスになっています。
ケータイのJavaアプリとJava Appletが全然別物のように、Androidもまた
別物と考えるべきかと思います。

> クラスなどの違いはあっても動く、

ある意味動くと言えます。
でも使うUIのクラスが全く違うのですから、UI寄りのコードは全く別物になってしまうと思います。

まったく1から設計した自作クラスならどちらでもそのまま動くと思います。

ゲームであれば、OpenGLベースにすれば多くのコードは簡単に移植できるかもしれません。
やったことないですけど。

Qアプレットを実行すると、×が表示され、Javaアプレットの読み込みに失敗しました。のメッセージが表示されます。

Java JDK5をインストールしました。

C:\Program Files\Javaに
jdk1.5.0_06
jre1.5.0_06
がインストールされています。

コンパイルは、PATHにC:\Program Files\Java\jdk1.5.0_06\binを追加すれば、できるようになりました。


Javaアプレットの読み込みに失敗しました。のメッセージが表示されます。


// 図形の表示

import java.applet.*;
import java.awt.*;

public class Test_0002 extends Applet{
public void paint(Graphics g){
g.fillOval(0, 0, 200, 100);
}
}

Aベストアンサー

HTMLのソースとclassファイル(またはjarファイル)の配置はどうなっていますか?
読み込みに失敗したのなら、classファイルが読み込めていない可能性が高いです。


人気Q&Aランキング