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実装をサポートするプロバイダが存在しない場合。Providerpublic 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または空の場合Providerpublic 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の場合Providerpublic 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、クラスObjectWeakReference, PhantomReference バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。 
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved.  Use is subject to license terms.  Documentation Redistribution Policyも参照してください。