JavaTM 2 Platform
Standard Ed. 5.0

java.net
クラス NetPermission

java.lang.Object
  上位を拡張 java.security.Permission
      上位を拡張 java.security.BasicPermission
          上位を拡張 java.net.NetPermission
すべての実装されたインタフェース:
Serializable, Guard

public final class NetPermission
extends BasicPermission

このクラスは、各種のネットワークアクセス権のために使います。NetPermission は名前 (ターゲット名ともいう) を含みますが、アクションリストは含みません。名前付きのアクセス権は、持っていても、持っていなくてもかまいません。

ターゲット名は、ネットワークアクセス権 (以下を参照) の名前です。ターゲット名の命名規則は、階層的なプロパティ命名規則に従います。ターゲット名の末尾には、ワイルドカードとして「.*」や「*」を使用できます。たとえば、「foo.*」や「*」は有効なターゲット名ですが、「*foo」 や「a*b」は無効なターゲット名です。

次の表は、指定できるすべての NetPermission ターゲット名、アクセス権の説明、およびコードにアクセス権を付与する場合のリスクを示します。

アクセス権ターゲット名 アクセス権により許可される機能 このアクセス権を許可した場合のリスク
setDefaultAuthenticator プロキシ、あるいは HTTP サーバが認証を求めたときの、認証情報の取得方法を設定できる 悪意のあるコードがオーセンティケータを設定して、ユーザからの入力を取得し、認証の入力を監視して入手できる
requestPasswordAuthentication システムに登録されたオーセンティケータに、パスワードを要求できる 悪意あるコードは、このパスワードを入手することができる
specifyStreamHandler URL を構築するときのストリームハンドラを指定できる 悪意あるコードは、アクセス可能な場所から実際のバイトを取得するストリームハンドラを指定することで、通常ならばアクセスできないリソースを使って URL を作成できる (file:/foo/fum/ など)。こうすると、クラスが位置する URL を偽って、そのクラスのための ProtectionDomain または CodeSource をシステムに作成できる
setProxySelector ネットワーク接続の確立時に使用するプロキシを決定するために使用するプロキシセレクタを設定できる 悪意あるコードは、ネットワークトラフィックを任意のネットワークホストに転送する ProxySelector を設定できる
getProxySelector ネットワーク接続の確立時に使用するプロキシを決定するために使用するプロキシセレクタを取得できる 悪意あるコードは、ProxySelector を取得することにより、内部ネットワークのプロキシホストおよびポートを検出し、攻撃のターゲットにすることができる
setCookieHandler Http セッションの高機密クッキー情報を処理するクッキーハンドラを設定できる 悪意あるコードは、クッキーハンドラを設定して、高機密クッキー情報へのアクセスを取得できる。クッキーを使ってユーザの個人情報 (アクセス制御情報など) を保存したり、ユーザのサイト閲覧状況を追跡したりする Web サーバもある
getCookieHandler Http セッションの高機密クッキー情報を処理するクッキーハンドラを取得できる 悪意あるコードは、クッキーハンドラを取得して、高機密クッキー情報へのアクセスを取得できる。クッキーを使ってユーザの個人情報 (アクセス制御情報など) を保存したり、ユーザのサイト閲覧状況を追跡したりする Web サーバもある
setResponseCache ローカル応答キャッシュへのアクセスを提供する応答キャッシュを設定できる ローカル応答キャッシュへのアクセスを取得する悪意あるコードは、機密情報にアクセスしたり、応答キャッシュ内に偽のエントリを作成したりすることがある
getResponseCache ローカル応答キャッシュへのアクセスを提供する応答キャッシュを取得できる ローカル応答キャッシュへのアクセスを取得する悪意あるコードは、機密情報にアクセスできる

関連項目:
BasicPermission, Permission, Permissions, PermissionCollection, SecurityManager, 直列化された形式

コンストラクタの概要
NetPermission(String name)
          指定された名前で、新しい NetPermission を作成します。
NetPermission(String name, String actions)
          指定された名前を持つ新しい NetPermission オブジェクトを生成します。
 
メソッドの概要
 
クラス java.security.BasicPermission から継承されたメソッド
equals, getActions, hashCode, implies, newPermissionCollection
 
クラス java.security.Permission から継承されたメソッド
checkGuard, getName, toString
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

NetPermission

public NetPermission(String name)
指定された名前で、新しい NetPermission を作成します。名前は、NetPermission の記号名 (「setDefaultAuthenticator」など) です。名前の末尾には 「*」 や 「.*」 を付けて、ワイルドカードを指定できます。

パラメータ:
name - NetPermission の名前

NetPermission

public NetPermission(String name,
                     String actions)
指定された名前を持つ新しい NetPermission オブジェクトを生成します。名前は NetPermission の記号名です。String の actions は現在使用されず、null になります。

パラメータ:
name - NetPermission の名前
actions - null でなければならない

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。