- - PR -
java web startのにおけるJNLP.APIの利用方法
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-07-17 19:06
長らくペンディング状態でした。
>そうなると後は、署名に使った証明書が、テストに利用するクライアントマシンに正しく >インストールできているかどうかが疑われます。 >署名作業をしたマシンから証明書をエクスポートして、目的のマシンにインポートしたと >きの手順と結果を、再度確認して下さい。 > そもそもJava Web Startでダウンロードしてきたアプリケーションを使用する場合に そのクライアントマシンへ証明書をインポートする必要が有るのでしょうか?? もう一度、原点に返って知りたいことを以下に述べますと、 Java Web Startにてアプリケーションを開発し、そのアプリケーションはクライアント 資源へフルアクセスしたい。そうした場合の構築方法が、知りたい。 java web start の .jnlpファイルへ以下を記述 <security> <all-permissions/> </security> サーバーへ配置する jarファイルは、どのような処置が必要なのでしょうか? 現状は、keytoolsにてテスト署名書を作成し、jarsignerにてjarファイルへその署名を 付与していますが、JWSのサイトへアクセスして実行しようとすると 「システムへの無制限のアクセスを要求する、署名されていないアプリケーションです」 なるエラーが発生して該当JARファイルのダウンロードに失敗しています。 そもそもkeytools及びjarsignerを使用してのテスト署名で問題ないのでしょうか? また、その場合の手順は、以下だけです。 1.keytool -genkey -keystore myKeystore -alias myself 2.jarsigner -keystore myKeystore sample.jar myself 3.サーバーのディレクトリへ「sample.jar」をコピー 何か足りないですか? 証明書のインポートやエクスポートなどの手順が必要なのでしょうか? 以上、どうにも不明なところです。 |
|
投稿日時: 2002-07-17 22:22
アプレットの署名のことを思い起こしてください。
> 現状は、keytoolsにてテスト署名書を作成し、jarsignerにてjarファイルへその署名を > 付与していますが、 テスト証明書の署名はあなた自身のはずです。あなたは世界的にオーソライズされた認証機関ですか?違いますね。 ですから、証明書を、作成したマシンからエクスポートして、実行する各マシンへインポートすることが必要なのです。テスト証明書は文字通りテスト専用です。 VerisignやThawte等の証明書なら問題ないはずです。 [ メッセージ編集済み 編集者: nakagome 編集日時 2002-07-17 22:32 ] |
|
投稿日時: 2002-07-17 22:47
レス有難うございます。
この辺がまったく理解しておりません。 >証明書を、作成したマシンからエクスポートして、実行する各マシンへインポートすることが >必要なのです。テスト証明書は文字通りテスト専用です。 > とりあえずLAN環境での運用なのでテスト証明書を使用しています。 それと、「実行する各マシンへインポートする」とありますが、サーバー側での設定 だけで問題ありませんよね? アプレットの場合だと、...jre\lib\security\java.security等へ設定するようですが.. もちろん署名ファイルをインポートしてキーストアを生成するなどの操作が必要なのでしょうが 署名ファイルのインポートを行って「keytool -import alias 名 -file 名めい」 java.securityへ Keystore 名 grant signedBy "myself"{ permission java.security.AllPermission } などの設定を行ってもだめです。根本的に間違っていますか? |
|
投稿日時: 2002-07-18 11:45
> それと、「実行する各マシンへインポートする」とありますが、サーバー側での設定
> だけで問題ありませんよね? 問題ないはずです。 > 根本的に間違っていますか? 間違っていないように見えます。 なぜうまくいかないのかわかりません。 要求するJDKを変えてみたり、サーバー上で署名してみたりして、原因の切り分けをしてみてはいかがでしょうか? _________________ Paul K.Nakagome |
|
投稿日時: 2002-07-30 17:54
お久しぶりです。ぶんです。 いろいろ試行錯誤しましたが、なぜかResin単体ではうまく動作せずにあきらめました。 HTTPをApacheで処理するように変更して、無事動作しました。 環境も再構築してみたりと色々やってみましたが、Resin単体では動作が不安定でして 原因も良く判りません。 まとめ JWSでのセキュリティをフルアクセスで運用する方法 1.keytool -gen ...でキーストアファイルを作成 2.keytool -selfcert ...でキーストアファイルから自己署名証明書を生成 3.jarsigner ...でJNLPに記述した全jarファイルへ署名 4.JNLPファイルへ以下の記述を追加 <security> <all-permissions/> </security> 以上でOKでした。 java.securityなどへの設定は、まったく不要だったわけです。 nakagomeさん色々有難うございました。m(_ _)m ほうとうに感謝です。 |
