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
- 生成の処理で問題が見つかった場合。protected void finalize()
finalize
、クラス: Object
WeakReference
, PhantomReference
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.