java.lang.Object
java.security.CodeSource
- すべての実装されたインタフェース:
Serializable
public class CodeSource extends Object implements Serializable
このクラスはコード・ベースの概念を拡張し、位置(URL)に加えて、その位置から発生する署名付きコードの検証に使用した証明書チェーンもカプセル化します。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
コンストラクタのサマリー
コンストラクタ説明CodeSource
(URL url, Certificate[] certs) CodeSourceを構築し、指定された位置と証明書セットに関連付けます。CodeSource
(URL url, CodeSigner[] signers) CodeSourceを構築し、それを指定された位置とコード署名者セットに関連付けます。 -
メソッドのサマリー
修飾子と型メソッド説明boolean
指定されたオブジェクトとこのオブジェクトが等価であるかどうかをテストします。final Certificate[]
このCodeSourceに関連した証明書を返します。final CodeSigner[]
このCodeSourceに関連したコード署名者を返します。final URL
このCodeSourceに関連した位置を返します。int
hashCode()
このオブジェクトのハッシュ・コード値を返します。boolean
implies
(CodeSource codesource) このCodeSourceオブジェクトが指定されたCodeSourceを「包含」している場合にtrueを返します。toString()
このCodeSourceを説明する文字列を返すことにより、そのURLと証明書を示します。
-
コンストラクタの詳細
-
CodeSource
public CodeSource(URL url, Certificate[] certs) CodeSourceを構築し、指定された位置と証明書セットに関連付けます。- パラメータ:
url
- 位置(URL)。 それはnull
かもしれません。certs
- 証明書。 それはnull
かもしれません。 この配列の内容は、後続の変更に影響されないようにコピーされる。
-
CodeSource
public CodeSource(URL url, CodeSigner[] signers) CodeSourceを構築し、それを指定された位置とコード署名者セットに関連付けます。- パラメータ:
url
- 位置(URL)。 それはnull
かもしれません。signers
- コード署名者。 それはnull
かもしれません。 この配列の内容は、後続の変更に影響されないようにコピーされる。- 導入されたバージョン:
- 1.5
-
-
メソッドの詳細
-
hashCode
public int hashCode()このオブジェクトのハッシュ・コード値を返します。 -
equals
public boolean equals(Object obj) 指定されたオブジェクトとこのオブジェクトが等価であるかどうかをテストします。 2つのCodeSourceオブジェクトは、それらの位置が同じ値であり、かつ署名者の証明書チェーンが同じ値である場合に同等と見なされます。 ただし、証明書チェーンの順序は同じでなくてもかまいません。 -
getLocation
public final URL getLocation()このCodeSourceに関連した位置を返します。- 戻り値:
- 構築中にURLが提供されなかった場合は、ロケーション(URL)、または
null
。
-
getCertificates
public final Certificate[] getCertificates()このCodeSourceに関連した証明書を返します。このCodeSourceオブジェクトが
CodeSource(URL url, CodeSigner[] signers)
コンストラクタを使って作成されたものである場合、その証明書チェーンが抽出および使用されてCertificateオブジェクトの配列が作成されます。 各署名者証明書のあとにはそれをサポートする証明書チェーンが続きます(空である可能性もある)。 各署名者証明書とそれをサポートする証明書チェーンは、下位から上位(つまり署名者証明書が最初で(ルート)証明書発行局が最後)の順に並びます。- 戻り値:
- 証明書配列のコピー、または存在しない場合は
null
。
-
getCodeSigners
public final CodeSigner[] getCodeSigners()このCodeSourceに関連したコード署名者を返します。このCodeSourceオブジェクトが
CodeSource(URL url, java.security.cert.Certificate[] certs)
コンストラクタを使って作成されたものである場合、その証明書チェーンが抽出および使用されてCodeSignerオブジェクトの配列が作成されます。 ただし、検査されるのはX.509証明書だけであり、その他の種類の証明書はすべて無視されます。- 戻り値:
- コード署名者配列のコピー、または存在しない場合は
null
。 - 導入されたバージョン:
- 1.5
-
implies
public boolean implies(CodeSource codesource) このCodeSourceオブジェクトが指定されたCodeSourceを「包含」している場合にtrueを返します。具体的には、このメソッドは次の項目を検査します。 検査のどれかが失敗するとfalseを返し、 すべての検査が成功するとtrueを返します。
- codesourceがnullではない。
- このオブジェクトの証明書がnullでない場合に、このオブジェクトの証明書がすべてcodesourceの証明書にある。
- このオブジェクトの位置(getLocation())がnullでない場合に、このオブジェクトの位置とcodesourceの位置について次の項目を検査する。
- codesourceの位置がnullではない。
- このオブジェクトの位置とcodesourceの位置が同じ場合はtrueを返す。
- このオブジェクトのプロトコル(getLocation().getProtocol())はcodesourceのプロトコルと同じである(大文字と小文字は区別されない)。
- このオブジェクトのホスト(getLocation().getHost())がnullでない場合には、このオブジェクトのホストで構築したSocketPermissionは、codesourceのホストで生成したSocketPermissionを包含している。
- このオブジェクトのポート(getLocation().getPort())が-1以外の場合(つまり、ポートが指定されている場合)に、そのポートはcodesourceのポートまたはデフォルト・ポート(codesource.getLocation().getDefaultPort())と同じである。
- このオブジェクトのファイル(getLocation().getFile())がcodesourceのファイルと異なる場合には、次の項目を検査する。このオブジェクトのファイルが「/-」で終わっている場合には、codesourceのファイルはこのオブジェクトのファイルで始まる必要がある(末尾の「-」を除く)。 このオブジェクトのファイルが「/*」で終わっている場合には、codesourceのファイルはこのオブジェクトのファイルで始まる必要があり、また、このほかに「/」のセパレータがあってはならない。 このオブジェクトのファイルが「/」で終わっていない場合には、このオブジェクトのファイルの末尾に「/」を追加することにより、codesourceのファイルをこのオブジェクトのファイルに一致させる必要がある。
- このオブジェクトの参照(getLocation().getRef())がnullでない場合に、その参照はcodesourceの参照と同じである。
たとえば、次のロケーションとnullの証明書を持つコード・ソース・オブジェクトは、コード・ソースのロケーションが"http://www.example.com/classes/foo.jar"でnullの証明書であることを意味しています:
http: http://*.example.com/classes/* http://www.example.com/classes/- http://www.example.com/classes/foo.jar
CodeSourceの位置がnullで、証明書チェーンがnullの場合は、ほかの各CodeSourceを包含しています。- パラメータ:
codesource
- 比較対象のCodeSource。- 戻り値:
- 指定されたコード・ソースがこのコード・ソースによって包含されている場合はtrue、そうでない場合はfalse。
-
toString
public String toString()このCodeSourceを説明する文字列を返すことにより、そのURLと証明書を示します。
-