除外メカニズムを使用するアプリケーションまたはアプレットは、使用しないアプリケーションまたはアプレットに比べて強力な暗号化機能が付与されます。
- 導入されたバージョン:
- 1.4
-
コンストラクタのサマリー
修飾子コンストラクタ説明protected
ExemptionMechanism
(ExemptionMechanismSpi exmechSpi, Provider provider, String mechanism) ExemptionMechanismオブジェクトを生成します。 -
メソッドのサマリー
修飾子と型メソッド説明final byte[]
除外メカニズムのキーBlobを生成します。final int
genExemptionBlob
(byte[] output) 除外メカニズムのキーBlobを生成して、結果をoutput
バッファに格納します。final int
genExemptionBlob
(byte[] output, int outputOffset) 除外メカニズムのキーBlobを生成して、結果をoutputOffset
から始まるoutput
バッファに格納します。static final ExemptionMechanism
getInstance
(String algorithm) 指定した除外メカニズム・アルゴリズムを実装するExemptionMechanism
オブジェクトを返します。static final ExemptionMechanism
getInstance
(String algorithm, String provider) 指定した除外メカニズム・アルゴリズムを実装するExemptionMechanism
オブジェクトを返します。static final ExemptionMechanism
getInstance
(String algorithm, Provider provider) 指定した除外メカニズム・アルゴリズムを実装するExemptionMechanism
オブジェクトを返します。final String
getName()
このExemptionMechanism
オブジェクトの除外メカニズム名を返します。final int
getOutputSize
(int inputLen) 入力の長さinputLen
(バイト単位)を指定して、次のgenExemptionBlob
操作の結果を保持するために必要な出力バッファの長さをバイト数で返します。final Provider
このExemptionMechanism
オブジェクトのプロバイダを返します。final void
キーを使用してこの除外メカニズムを初期化します。final void
init
(Key key, AlgorithmParameters params) キーとアルゴリズム・パラメータのセットを使用してこの除外メカニズムを初期化します。final void
init
(Key key, AlgorithmParameterSpec params) キーとアルゴリズム・パラメータのセットを使用してこの除外メカニズムを初期化します。final 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
である場合- 関連項目:
-
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
である場合- 関連項目:
-
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
である場合- 関連項目:
-
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
- 生成の処理で問題が見つかった場合。
-