Foundation 1.1.2

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 オブジェクトは、それらの位置が同じ値であり、かつ 2 つの証明書のセットが同じ値である場合に同等とみなされます。ただし、証明書の順序は同じでなくてもかまいません。

オーバーライド:
クラス 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 についての情報

Foundation 1.1.2

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

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