web-dev-qa-db-ja.com

jnlpファイルの実行中のSecurityException(メインjarに必要なアクセス許可マニフェスト属性がありません)

OS:Windows 7 64ビット

Java:jdk1.7.0_51

Jnlpファイルがあります。これをダブルクリックすると、次のように例外が発生します。

Application Error: Unable to launch the application
Exception: Java.lang.SecurityException: Missing required Permissions manifest attribute in main jar
31
Ripon Al Wasim

セキュリティ用のJARファイルマニフェスト属性

JARファイルマニフェスト には、セキュリティおよび構成情報など、JARファイルの内容に関する情報が含まれます。

JARファイルに署名する前に、属性をマニフェストに追加します。
JARマニフェストファイルに属性を追加する方法については、Javaチュートリアルの マニフェストファイルの変更 を参照してください。

許可属性

Permissions属性は、実行時にRIAによって要求されたアクセス許可レベルが、JARファイルの作成時に設定されたアクセス許可レベルと一致することを確認するために使用されます。

この属性を使用して、証明書で署名されたアプリケーションを誰かが再デプロイして、別の特権レベルで実行できないようにします。この属性を次の値のいずれかに設定します。

  • サンドボックス-セキュリティサンドボックスで実行され、追加の権限は必要ありません。

  • all-permissions-ユーザーのシステムリソースへのアクセスが必要です。

セキュリティスライダーの変更:

このリリースには、セキュリティスライダーに対する次の変更が含まれています(7u51):

  • 高セキュリティ設定で自己署名および署名されていないアプレットをブロックする
  • 高セキュリティ設定にアクセス許可属性が必要
  • 中セキュリティ設定のアクセス許可属性がないことをユーザーに警告する

詳細については、 Javaコントロールパネル ドキュメントを参照してください。

enter image description here

sampleMANIFEST.MF

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.7.0_51-b13 (Oracle Corporation)
Trusted-Only: true
Class-Path: lib/plugin.jar
Permissions: sandbox
Codebase: http://myweb.de http://www.myweb.de
Application-Name: summary-applet

49
moskito-x

マシンのすべてのユーザーに対してこれをグローバルに設定する場合、次のディレクトリおよびファイル構造を作成できます。

mkdir %windir%\Sun\Java\Deployment

コンテンツを含むファイルdeployment.configを作成します。

deployment.system.config=file:///c:/windows/Sun/Java/Deployment/deployment.properties
deployment.system.config.mandatory=TRUE

ファイルdeployment.propertiesを作成します

deployment.user.security.exception.sites=C\:/WINDOWS/Sun/Java/Deployment/exception.sites

ファイルexception.sitesを作成します

http://example1.com
http://example2.com/path/to/specific/directory/

リファレンス https://blogs.Oracle.com/Java-platform-group/entry/upcoming_exception_site_list_in

4
bcjenkins