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および証明書を示します。
-