public class ExemptionMechanism extends Object
免責メカニズムを使用するアプリケーションまたはアプレットは、使用しないアプリケーションまたはアプレットに比べて強力な暗号化機能が付与されます。
- 導入されたバージョン:
- 1.4
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
ExemptionMechanism(ExemptionMechanismSpi exmechSpi, Provider provider, String mechanism)
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, String provider)
指定した除外メカニズム・アルゴリズムを実装するExemptionMechanism
オブジェクトを返します。static ExemptionMechanism
getInstance(String algorithm, Provider 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が正常に生成されたかどうかを返します。
-
コンストラクタの詳細
-
ExemptionMechanism
protected ExemptionMechanism(ExemptionMechanismSpi exmechSpi, Provider provider, String mechanism)ExemptionMechanismオブジェクトを生成します。- パラメータ:
exmechSpi
- 委譲先provider
- プロバイダmechanism
- 除外メカニズム
-
-
メソッドの詳細
-
getName
public final String getName()このExemptionMechanism
オブジェクトの除外メカニズム名を返します。これは、この
ExemptionMechanism
オブジェクトを作成したgetInstance
呼出しのいずれかに指定された名前と同じです。- 戻り値:
- この
ExemptionMechanism
オブジェクトの除外メカニズム名。
-
getInstance
public static final ExemptionMechanism getInstance(String algorithm) throws NoSuchAlgorithmException指定した除外メカニズム・アルゴリズムを実装するExemptionMechanism
オブジェクトを返します。このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。 指定されたアルゴリズムをサポートする最初のプロバイダからのExemptionMechanismSpiの実装をカプセル化する新しいExemptionMechanismオブジェクトが返されます。
登録済みプロバイダのリストは、
Security.getProviders()
メソッド経由で取得できます。- 実装上のノート:
- JDKリファレンス実装では、
jdk.security.provider.preferred
Security
プロパティを使用して、指定されたアルゴリズムの優先プロバイダの順序を決定します。 これは、Security.getProviders()
によって返されるプロバイダの順序とは異なる場合があります。 - パラメータ:
algorithm
- 要求された除外メカニズムの標準名。 標準除外メカニズム名の詳細については、「Javaセキュリティ標準アルゴリズム名指定」のExemptionMechanismセクションを参照してください。- 戻り値:
- 新しい
ExemptionMechanism
オブジェクト - 例外:
NoSuchAlgorithmException
-Provider
が、指定されたアルゴリズムのExemptionMechanismSpi
実装をサポートしていない場合NullPointerException
-algorithm
がnull
である場合- 関連項目:
Provider
-
getInstance
public static final ExemptionMechanism getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException指定した除外メカニズム・アルゴリズムを実装するExemptionMechanism
オブジェクトを返します。指定されたプロバイダのExemptionMechanismSpi実装をカプセル化する新しいExemptionMechanismオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。
登録済みプロバイダのリストは、
Security.getProviders()
メソッド経由で取得できます。- パラメータ:
algorithm
- 要求された除外メカニズムの標準名。 標準除外メカニズム名の詳細については、「Javaセキュリティ標準アルゴリズム名指定」のExemptionMechanismセクションを参照してください。provider
- プロバイダ名。- 戻り値:
- 新しい
ExemptionMechanism
オブジェクト - 例外:
IllegalArgumentException
-provider
がnull
または空の場合NoSuchAlgorithmException
- 指定されたアルゴリズムのExemptionMechanismSpi
実装が、指定されたプロバイダから利用可能でない場合NoSuchProviderException
- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合NullPointerException
-algorithm
がnull
である場合- 関連項目:
Provider
-
getInstance
public static final ExemptionMechanism getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException指定した除外メカニズム・アルゴリズムを実装するExemptionMechanism
オブジェクトを返します。指定されたProviderオブジェクトのExemptionMechanismSpi実装をカプセル化する新しいExemptionMechanismオブジェクトが返されます。 指定されたProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。
- パラメータ:
algorithm
- 要求された除外メカニズムの標準名。 標準除外メカニズム名の詳細については、「Javaセキュリティ標準アルゴリズム名指定」のExemptionMechanismセクションを参照してください。provider
- プロバイダ- 戻り値:
- 新しい
ExemptionMechanism
オブジェクト - 例外:
IllegalArgumentException
-provider
がnullの場合NoSuchAlgorithmException
- 指定されたアルゴリズムのExemptionMechanismSpi
実装が、指定されたProvider object
から使用できない場合NullPointerException
-algorithm
がnull
である場合- 関連項目:
Provider
-
getProvider
public final Provider getProvider()このExemptionMechanism
オブジェクトのプロバイダを返します。- 戻り値:
- この
ExemptionMechanism
オブジェクトのプロバイダ。
-
isCryptoAllowed
public final boolean isCryptoAllowed(Key key) throws ExemptionMechanismExceptionこの除外メカニズムにより結果Blobが正常に生成されたかどうかを返します。このメソッドは、渡されたキーが、この除外メカニズムが初期化および生成段階で使用したキーと同じであることも確認します。
- パラメータ:
key
- 暗号が使用するキー。- 戻り値:
- この除外メカニズムにより同じキーの結果Blobが正常に生成されたどうかを返す。
key
がnullの場合はfalse。 - 例外:
ExemptionMechanismException
- この除外メカニズム・オブジェクトにより結果Blobが正常に生成されたかどうかを判定する際に問題が見つかった場合。
-
getOutputSize
public final int getOutputSize(int inputLen) throws IllegalStateException入力の長さinputLen
(バイト単位)を指定して、次のgenExemptionBlob
操作の結果を保持するために必要な出力バッファの長さをバイト数で返します。次の
genExemptionBlob
呼出しの実際の出力長は、このメソッドが返す長さより小さいことがあります。- パラメータ:
inputLen
- 入力長(バイト単位)- 戻り値:
- 必要な出力バッファ・サイズ(バイト単位)
- 例外:
IllegalStateException
- この除外メカニズムが誤った状態にある場合(まだ初期化されていないなど)
-
init
public final void init(Key key) throws InvalidKeyException, ExemptionMechanismExceptionキーを使用してこの除外メカニズムを初期化します。この除外メカニズムが、指定された
key
から派生できないアルゴリズム・パラメータを必要とする場合、基本となる除外メカニズムの実装は、プロバイダ固有のデフォルト値を使用して必要なパラメータ自体を生成します。アルゴリズム・パラメータを呼出し側で指定する必要がある場合は、InvalidKeyException
が発生します。- パラメータ:
key
- この除外メカニズムのキー- 例外:
InvalidKeyException
- 指定されたキーがこの除外メカニズムに不適切な場合。ExemptionMechanismException
- 初期化の処理で問題が見つかった場合。
-
init
public final void init(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismExceptionキーとアルゴリズム・パラメータのセットを使用してこの除外メカニズムを初期化します。この除外メカニズムがアルゴリズム・パラメータを必要とし、
params
がnullである場合、基本となる除外メカニズムの実装は、プロバイダ固有のデフォルト値を使用して必要なパラメータ自体を生成します。アルゴリズム・パラメータを呼出し側で指定する必要がある場合は、InvalidAlgorithmParameterException
が発生します。- パラメータ:
key
- この除外メカニズムのキーparams
- アルゴリズム・パラメータ- 例外:
InvalidKeyException
- 指定されたキーがこの除外メカニズムに不適切な場合。InvalidAlgorithmParameterException
- 指定されたアルゴリズム・パラメータがこの除外メカニズムに不適切な場合。ExemptionMechanismException
- 初期化の処理で問題が見つかった場合。
-
init
public final void init(Key key, AlgorithmParameters params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismExceptionキーとアルゴリズム・パラメータのセットを使用してこの除外メカニズムを初期化します。この除外メカニズムがアルゴリズム・パラメータを必要とし、
params
がnullである場合、基本となる除外メカニズムの実装は、プロバイダ固有のデフォルト値を使用して必要なパラメータ自体を生成します。アルゴリズム・パラメータを呼出し側で指定する必要がある場合は、InvalidAlgorithmParameterException
が発生します。- パラメータ:
key
- この除外メカニズムのキーparams
- アルゴリズム・パラメータ- 例外:
InvalidKeyException
- 指定されたキーがこの除外メカニズムに不適切な場合。InvalidAlgorithmParameterException
- 指定されたアルゴリズム・パラメータがこの除外メカニズムに不適切な場合。ExemptionMechanismException
- 初期化の処理で問題が見つかった場合。
-
genExemptionBlob
public final byte[] genExemptionBlob() throws IllegalStateException, ExemptionMechanismException除外メカニズムのキーBlobを生成します。- 戻り値:
- 結果のキーBlobの入った新しいバッファ
- 例外:
IllegalStateException
- この除外メカニズムが誤った状態にある場合(初期化されていないなど)。ExemptionMechanismException
- 生成の処理で問題が見つかった場合。
-
genExemptionBlob
public final int genExemptionBlob(byte[] output) throws IllegalStateException, ShortBufferException, ExemptionMechanismException除外メカニズムのキーBlobを生成して、結果をoutput
バッファに格納します。output
バッファが小さすぎて結果を保持できない場合は、ShortBufferException
がスローされます。 この場合、より大きな出力バッファを使用してこの呼出しを繰り返します。getOutputSize
を使用して、必要な出力バッファのサイズを判定します。- パラメータ:
output
- 結果を格納するバッファ- 戻り値:
output
に格納されたバイト数- 例外:
IllegalStateException
- この除外メカニズムが誤った状態にある場合(初期化されていないなど)。ShortBufferException
- 指定された出力バッファが小さすぎて結果を保持できない場合。ExemptionMechanismException
- 生成の処理で問題が見つかった場合。
-
genExemptionBlob
public final int genExemptionBlob(byte[] output, int outputOffset) throws IllegalStateException, ShortBufferException, ExemptionMechanismException除外メカニズムのキーBlobを生成して、結果をoutputOffset
から始まるoutput
バッファに格納します。output
バッファが小さすぎて結果を保持できない場合は、ShortBufferException
がスローされます。 この場合、より大きな出力バッファを使用してこの呼出しを繰り返します。getOutputSize
を使用して、必要な出力バッファのサイズを判定します。- パラメータ:
output
- 結果を格納するバッファoutputOffset
- 結果が格納されるoutput
内のオフセット- 戻り値:
output
に格納されたバイト数- 例外:
IllegalStateException
- この除外メカニズムが誤った状態にある場合(初期化されていないなど)。ShortBufferException
- 指定された出力バッファが小さすぎて結果を保持できない場合。ExemptionMechanismException
- 生成の処理で問題が見つかった場合。
-