public class ExemptionMechanism extends Object
除外メカニズムを使用するアプリケーションまたはアプレットには、使用しないものより強力な暗号化機能を付与できます。
修飾子 | コンストラクタと説明 |
---|---|
protected |
ExemptionMechanism(ExemptionMechanismSpi exmechSpi, Provider provider, String mechanism)
ExemptionMechanism オブジェクトを生成します。
|
修飾子と型 | メソッドと説明 |
---|---|
protected void |
finalize()
ExemptionMechanism オブジェクトへの参照が存在しなくなったときに、このオブジェクトによって格納された鍵が確実に消されるようにします。
|
byte[] |
genExemptionBlob()
除外メカニズムの鍵 Blob を生成します。
|
int |
genExemptionBlob(byte[] output)
除外メカニズムの鍵 Blob を生成して、結果を
output バッファーに格納します。 |
int |
genExemptionBlob(byte[] output, int outputOffset)
除外メカニズムの鍵 Blob を生成して、結果を
outputOffset から始まる output バッファーに格納します。 |
static ExemptionMechanism |
getInstance(String algorithm)
指定した除外メカニズムアルゴリズムを実装する
ExemptionMechanism オブジェクトを返します。 |
static ExemptionMechanism |
getInstance(String algorithm, Provider provider)
指定した除外メカニズムアルゴリズムを実装する
ExemptionMechanism オブジェクトを返します。 |
static ExemptionMechanism |
getInstance(String algorithm, String provider)
指定した除外メカニズムアルゴリズムを実装する
ExemptionMechanism オブジェクトを返します。 |
String |
getName()
この
ExemptionMechanism オブジェクトの除外メカニズム名を返します。 |
int |
getOutputSize(int inputLen)
入力の長さ
inputLen (バイト単位) を指定して、次の genExemptionBlob 操作の結果を保持するために必要な出力バッファーの長さをバイト数で返します。 |
Provider |
getProvider()
この
ExemptionMechanism オブジェクトのプロバイダを返します。 |
void |
init(Key key)
鍵を使用してこの除外メカニズムを初期化します。
|
void |
init(Key key, AlgorithmParameters params)
鍵とアルゴリズムパラメータのセットを使用してこの除外メカニズムを初期化します。
|
void |
init(Key key, AlgorithmParameterSpec params)
鍵とアルゴリズムパラメータのセットを使用してこの除外メカニズムを初期化します。
|
boolean |
isCryptoAllowed(Key key)
この除外メカニズムにより結果 Blob が正常に生成されたかどうかを返します。
|
protected ExemptionMechanism(ExemptionMechanismSpi exmechSpi, Provider provider, String mechanism)
exmechSpi
- 委譲先provider
- プロバイダmechanism
- 除外メカニズムpublic final String getName()
ExemptionMechanism
オブジェクトの除外メカニズム名を返します。
これは、この ExemptionMechanism
オブジェクトを作成した getInstance
呼び出しのいずれかに指定された名前と同じです。
ExemptionMechanism
オブジェクトの除外メカニズム名。public static final ExemptionMechanism getInstance(String algorithm) throws NoSuchAlgorithmException
ExemptionMechanism
オブジェクトを返します。
このメソッドは、最優先の Provider から順に、登録済みのセキュリティー Provider のリストをトラバースします。指定されたアルゴリズムをサポートする最初のプロバイダからの ExemptionMechanismSpi の実装をカプセル化する新しい ExemptionMechanism オブジェクトが返されます。
登録済みプロバイダのリストは、Security.getProviders()
メソッド経由で取得できます。
algorithm
- 要求された除外メカニズムの標準名。標準の除外メカニズム名については、Java 暗号化アーキテクチャー標準アルゴリズム名のドキュメントの ExemptionMechanism のセクションを参照。ExemptionMechanism
オブジェクト。NullPointerException
- algorithm
が null である場合。NoSuchAlgorithmException
- 指定したアルゴリズムの ExemptionMechanismSpi 実装をサポートするプロバイダが存在しない場合。Provider
public static final ExemptionMechanism getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
ExemptionMechanism
オブジェクトを返します。
指定されたプロバイダの ExemptionMechanismSpi 実装をカプセル化する新しい ExemptionMechanism オブジェクトが返されます。指定したプロバイダは、セキュリティープロバイダリストに登録する必要があります。
登録済みプロバイダのリストは、Security.getProviders()
メソッド経由で取得できます。
algorithm
- 要求された除外メカニズムの標準名。標準の除外メカニズム名については、Java 暗号化アーキテクチャー標準アルゴリズム名のドキュメントの ExemptionMechanism のセクションを参照。provider
- プロバイダ名ExemptionMechanism
オブジェクト。NullPointerException
- algorithm
が null である場合。NoSuchAlgorithmException
- 指定されたプロバイダに指定されたアルゴリズムの ExemptionMechanismSpi 実装がない場合。NoSuchProviderException
- 指定されたプロバイダがセキュリティープロバイダリストに登録されていない場合IllegalArgumentException
- provider
が null または空の場合Provider
public static final ExemptionMechanism getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
ExemptionMechanism
オブジェクトを返します。
指定された Provider オブジェクトの ExemptionMechanismSpi 実装をカプセル化する新しい ExemptionMechanism オブジェクトが返されます。指定された Provider オブジェクトは、プロバイダリストに登録する必要はありません。
algorithm
- 要求された除外メカニズムの標準名。標準の除外メカニズム名については、Java 暗号化アーキテクチャー標準アルゴリズム名のドキュメントの ExemptionMechanism のセクションを参照。provider
- プロバイダExemptionMechanism
オブジェクト。NullPointerException
- algorithm
が null である場合。NoSuchAlgorithmException
- 指定された Provider オブジェクトに指定されたアルゴリズムの ExemptionMechanismSpi 実装がない場合。IllegalArgumentException
- provider
が null の場合Provider
public final Provider getProvider()
ExemptionMechanism
オブジェクトのプロバイダを返します。ExemptionMechanism
オブジェクトのプロバイダ。public final boolean isCryptoAllowed(Key key) throws ExemptionMechanismException
このメソッドは、渡された鍵が、この除外メカニズムが初期化および生成段階で使用した鍵と同じであることも確認します。
key
- 暗号が使用する鍵。key
が null の場合は false。ExemptionMechanismException
- この除外メカニズムオブジェクトにより結果 Blob が正常に生成されたかどうかを判定する際に問題が見つかった場合。public final int getOutputSize(int inputLen) throws IllegalStateException
inputLen
(バイト単位) を指定して、次の genExemptionBlob
操作の結果を保持するために必要な出力バッファーの長さをバイト数で返します。
次の genExemptionBlob
呼び出しの実際の出力長は、このメソッドが返す長さより小さいことがあります。
inputLen
- 入力長 (バイト単位)IllegalStateException
- この除外メカニズムが誤った状態にある場合 (まだ初期化されていないなど)public final void init(Key key) throws InvalidKeyException, ExemptionMechanismException
この除外メカニズムが、指定された key
から派生できないアルゴリズムパラメータを必要とする場合、基本となる除外メカニズムの実装は、プロバイダ固有のデフォルト値を使用して必要なパラメータ自体を生成します。アルゴリズムパラメータを呼び出し側で指定する必要がある場合は、InvalidKeyException
が発生します。
key
- この除外メカニズムの鍵InvalidKeyException
- 指定された鍵がこの除外メカニズムに不適切な場合。ExemptionMechanismException
- 初期化の処理で問題が見つかった場合。public final void init(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismException
この除外メカニズムがアルゴリズムパラメータを必要とし、params
が null である場合、基本となる除外メカニズムの実装は、プロバイダ固有のデフォルト値を使用して必要なパラメータ自体を生成します。アルゴリズムパラメータを呼び出し側で指定する必要がある場合は、InvalidAlgorithmParameterException
が発生します。
key
- この除外メカニズムの鍵params
- アルゴリズムパラメータInvalidKeyException
- 指定された鍵がこの除外メカニズムに不適切な場合。InvalidAlgorithmParameterException
- 指定されたアルゴリズムパラメータがこの除外メカニズムに不適切な場合。ExemptionMechanismException
- 初期化の処理で問題が見つかった場合。public final void init(Key key, AlgorithmParameters params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismException
この除外メカニズムがアルゴリズムパラメータを必要とし、params
が null である場合、基本となる除外メカニズムの実装は、プロバイダ固有のデフォルト値を使用して必要なパラメータ自体を生成します。アルゴリズムパラメータを呼び出し側で指定する必要がある場合は、InvalidAlgorithmParameterException
が発生します。
key
- この除外メカニズムの鍵params
- アルゴリズムパラメータInvalidKeyException
- 指定された鍵がこの除外メカニズムに不適切な場合。InvalidAlgorithmParameterException
- 指定されたアルゴリズムパラメータがこの除外メカニズムに不適切な場合。ExemptionMechanismException
- 初期化の処理で問題が見つかった場合。public final byte[] genExemptionBlob() throws IllegalStateException, ExemptionMechanismException
IllegalStateException
- この除外メカニズムが誤った状態にある場合 (初期化されていないなど)。ExemptionMechanismException
- 生成の処理で問題が見つかった場合。public final int genExemptionBlob(byte[] output) throws IllegalStateException, ShortBufferException, ExemptionMechanismException
output
バッファーに格納します。
output
バッファーが小さすぎて結果を保持できない場合は、ShortBufferException
がスローされます。この場合、より大きな出力バッファーを使用してこの呼び出しを繰り返します。getOutputSize
を使用して、必要な出力バッファーのサイズを判定します。
output
- 結果を格納するバッファーoutput
に格納されたバイト数IllegalStateException
- この除外メカニズムが誤った状態にある場合 (初期化されていないなど)。ShortBufferException
- 指定された出力バッファーが小さすぎて結果を保持できない場合。ExemptionMechanismException
- 生成の処理で問題が見つかった場合。public final int genExemptionBlob(byte[] output, int outputOffset) throws IllegalStateException, ShortBufferException, ExemptionMechanismException
outputOffset
から始まる output
バッファーに格納します。
output
バッファーが小さすぎて結果を保持できない場合は、ShortBufferException
がスローされます。この場合、より大きな出力バッファーを使用してこの呼び出しを繰り返します。getOutputSize
を使用して、必要な出力バッファーのサイズを判定します。
output
- 結果を格納するバッファーoutputOffset
- 結果が格納される output
内のオフセットoutput
に格納されたバイト数IllegalStateException
- この除外メカニズムが誤った状態にある場合 (初期化されていないなど)。ShortBufferException
- 指定された出力バッファーが小さすぎて結果を保持できない場合。ExemptionMechanismException
- 生成の処理で問題が見つかった場合。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.