JavaTM 2 Platform
Std. Ed. v1.3

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
戻り値:
このオブジェクトのハッシュコード値

equals

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

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 - 比較対象の CodeSource
戻り値:
指定されたコードソースがこのコードソースによって包含されている場合は true、そうでない場合は false

toString

public String toString()
この CodeSource を説明する文字列を返すことにより、その URL と証明書を示します。
オーバーライド:
クラス Object 内の toString
戻り値:
この CodeSource についての情報

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

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