JavaTM 2
Platform
Std. Ed. v1.4.0

java.security
クラス CodeSource

java.lang.Object
  |
  +--java.security.CodeSource
すべての実装インタフェース:
Serializable

public class CodeSource
extends Object
implements Serializable

このクラスは、位置 (URL) に加えて、その位置から発生する署名付きコードの検証に使用した証明書もカプセル化することにより、コードベースの概念を拡張します。

関連項目:
直列化された形式

コンストラクタの概要
CodeSource(URL url, Certificate[] certs)
          CodeSource を構築し、指定された位置と証明書セットに関連付けます。
 
メソッドの概要
 boolean equals(Object obj)
          指定されたオブジェクトとこのオブジェクトが同等であるかどうかを判定します。
 Certificate[] getCertificates()
          この CodeSource に関連した証明書を返します。
 URL getLocation()
          この CodeSource に関連した位置を返します。
 int hashCode()
          このオブジェクトのハッシュコード値を返します。
 boolean implies(CodeSource codesource)
          この CodeSource オブジェクトが指定された CodeSource を「包含」している場合に true を返します。
 String toString()
          この CodeSource を説明する文字列を返すことにより、その URL と証明書を示します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

CodeSource

public CodeSource(URL url,
                  Certificate[] certs)
CodeSource を構築し、指定された位置と証明書セットに関連付けます。

パラメータ:
url - 位置 (URL)
certs - 証明書
メソッドの詳細

hashCode

public int hashCode()
このオブジェクトのハッシュコード値を返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
指定されたオブジェクトとこのオブジェクトが同等であるかどうかを判定します。2 つの CodeSource オブジェクトは、それらの位置が同じ値であり、かつ証明書セットが同じ値である場合に同等と見なされます。ただし、各証明書が同じ順序である必要はありません。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - このオブジェクトと等しいかどうかが判定されるオブジェクト
戻り値:
オブジェクトが等しいと見なされた場合は true、そうでない場合は false
関連項目:
Object.hashCode(), Hashtable

getLocation

public final URL getLocation()
この CodeSource に関連した位置を返します。

戻り値:
位置 (URL)

getCertificates

public final Certificate[] getCertificates()
この CodeSource に関連した証明書を返します。

戻り値:
証明書

implies

public boolean implies(CodeSource codesource)
この CodeSource オブジェクトが指定された CodeSource を「包含」している場合に true を返します。

具体的には、このメソッドは次の項目を順番に検査します。検査のどれかが失敗すると false を返し、すべての検査が成功すると true を返します。

  1. codesource が null ではない
  2. このオブジェクトの証明書が null でない場合に、このオブジェクトの証明書がすべて codesource の証明書にある
  3. このオブジェクトの位置 (getLocation()) が null でない場合に、このオブジェクトの位置と codesource の位置について次の項目を検査する

    1. codesource の位置が null ではない
    2. このオブジェクトの位置と codesource の位置が同じ場合は true を返す
    3. このオブジェクトのプロトコル (getLocation().getProtocol()) は codesource のプロトコルと同じである
    4. このオブジェクトのホスト (getLocation().getHost()) が null でない場合には、このオブジェクトのホストで構築した SocketPermission は、codesource のホストで生成した SocketPermission を包含している
    5. このオブジェクトのポート (getLocation().getPort()) が -1 以外の場合 (つまり、ポートが指定されている場合) に、そのポートは codesource のポートと同じである
    6. このオブジェクトのファイル (getLocation().getFile()) が codesource のファイルと異なる場合には、次の項目を検査する。このオブジェクトのファイルが「/-」で終わっている場合には、codesource のファイルはこのオブジェクトのファイルで始まる必要がある (末尾の「-」を除く)。このオブジェクトのファイルが「/*」で終わっている場合には、codesource のファイルはこのオブジェクトのファイルで始まる必要があり、また、このほかに「/」のセパレータがあってはならない。このオブジェクトのファイルが「/」で終わっていない場合には、このオブジェクトのファイルの末尾に「/」を追加することにより、codesource のファイルをこのオブジェクトのファイルに一致させる必要がある
    7. このオブジェクトの参照 (getLocation().getRef()) が null でない場合に、その参照は codesource の参照と同じである

たとえば、次の位置にある、証明書が null のコードソースオブジェクトはすべて、位置が「http://java.sun.com/classes/foo.jar」で、証明書が null のコードソースを包含しています。

     http:
     http://*.sun.com/classes/*
     http://java.sun.com/classes/-
     http://java.sun.com/classes/foo.jar
 
CodeSource の位置が null で、証明連鎖が null の場合は、ほかの各 CodeSource を包含しています。

パラメータ:
codesource - 比較対象の CodeSource
戻り値:
指定されたコードソースがこのコードソースによって包含されている場合は true、そうでない場合は false

toString

public String toString()
この CodeSource を説明する文字列を返すことにより、その URL と証明書を示します。

オーバーライド:
クラス Object 内の toString
戻り値:
この CodeSource についての情報

JavaTM 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.