JavaTM 2 Platform
Standard Ed. 5.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 を構築し、指定された位置と証明書セットに関連付けます。
CodeSource(URL url, CodeSigner[] signers)
          CodeSource を構築し、それを指定された位置とコード署名者セットに関連付けます。
 
メソッドの概要
 boolean equals(Object obj)
          指定されたオブジェクトとこのオブジェクトが同等であるかどうかを判定します。
 Certificate[] getCertificates()
          この CodeSource に関連した証明書を返します。
 CodeSigner[] getCodeSigners()
          この 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 - 証明書。null も指定できる。この配列の内容は、後続の変更に影響されないようにコピーされる

CodeSource

public CodeSource(URL url,
                  CodeSigner[] signers)
CodeSource を構築し、それを指定された位置とコード署名者セットに関連付けます。

パラメータ:
url - 位置 (URL)
signers - コード署名者。null も指定できる。この配列の内容は、後続の変更に影響されないようにコピーされる
導入されたバージョン:
1.5
メソッドの詳細

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 に関連した証明書を返します。

この CodeSource オブジェクトが CodeSource(URL url, CodeSigner[] signers) コンストラクタを使って作成されたものである場合、その証明連鎖が抽出および使用されて Certificate オブジェクトの配列が作成されます。各署名者証明書の後にはそれをサポートする証明連鎖が続きます (空である可能性もある)。各署名者証明書とそれをサポートする証明連鎖は、下位から上位 (つまり署名者証明書が最初で (ルート) 証明書発行局が最後) の順に並びます。

戻り値:
証明書の配列のコピー。証明書が 1 つも存在しない場合は null

getCodeSigners

public final CodeSigner[] getCodeSigners()
この CodeSource に関連したコード署名者を返します。

この CodeSource オブジェクトが CodeSource(URL url, Certificate[] certs) コンストラクタを使って作成されたものである場合、その証明連鎖が抽出および使用されて CodeSigner オブジェクトの配列が作成されます。ただし、検査されるのは X.509 証明書だけであり、その他の種類の証明書はすべて無視されます。

戻り値:
コード署名者の配列のコピー。コード署名者が 1 つも存在しない場合は null
導入されたバージョン:
1.5

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
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 も参照してください。