|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.crypto.Mac
public class Mac
このクラスは、「メッセージ認証コード」(MAC) アルゴリズムの機能を提供します。
MAC は、秘密鍵に基づいて、転送された情報や信頼できないメディアに格納されている情報の整合性を確認する手段を提供します。通常、メッセージ認証コードは、相互に転送された情報を検証するために、秘密鍵を共有する当事者間で相互に使用されます。
暗号化ハッシュ機能に基づく MAC 機構は HMAC と呼ばれます。HMAC は、MD5 や SHA-1 など、どの暗号化ハッシュ機能でも、共有の秘密鍵と組み合わせて使用することができます。HMAC は RFC 2104 で指定されています。
コンストラクタの概要 | |
---|---|
protected |
Mac(MacSpi macSpi,
Provider provider,
String algorithm)
MAC オブジェクトを作成します。 |
メソッドの概要 | |
---|---|
Object |
clone()
プロバイダの実装が複製可能な場合は複製を返します。 |
byte[] |
doFinal()
MAC 操作を終了します。 |
byte[] |
doFinal(byte[] input)
指定されたバイトの配列を処理して MAC 操作を終了します。 |
void |
doFinal(byte[] output,
int outOffset)
MAC 操作を終了します。 |
String |
getAlgorithm()
この Mac オブジェクトのアルゴリズム名を返します。 |
static Mac |
getInstance(String algorithm)
指定された MAC アルゴリズムを実装する Mac オブジェクトを作成します。 |
static Mac |
getInstance(String algorithm,
Provider provider)
指定されたプロバイダから、指定された MAC アルゴリズムの Mac オブジェクトを生成します。 |
static Mac |
getInstance(String algorithm,
String provider)
指定されたプロバイダから、指定された MAC アルゴリズムの Mac オブジェクトを作成します。 |
int |
getMacLength()
MAC の長さをバイト単位で返します。 |
Provider |
getProvider()
この Mac オブジェクトのプロバイダを返します。 |
void |
init(Key key)
指定された鍵を使用してこの Mac オブジェクトを初期化します。 |
void |
init(Key key,
AlgorithmParameterSpec params)
指定された鍵とアルゴリズムパラメータを使用してこの Mac オブジェクトを初期化します。 |
void |
reset()
この Mac オブジェクトをリセットします。 |
void |
update(byte input)
指定されたバイトを処理します。 |
void |
update(byte[] input)
指定されたバイトの配列を処理します。 |
void |
update(byte[] input,
int offset,
int len)
input 内の len バイトを処理します。 |
void |
update(ByteBuffer input)
ByteBuffer input 内のデータを、input.position() の位置から input.remaining() バイトだけ処理します。 |
クラス java.lang.Object から継承されたメソッド |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
protected Mac(MacSpi macSpi, Provider provider, String algorithm)
macSpi
- 委譲先provider
- プロバイダalgorithm
- アルゴリズムメソッドの詳細 |
---|
public final String getAlgorithm()
Mac
オブジェクトのアルゴリズム名を返します。
これは、この Mac
オブジェクトを作成した getInstance
呼び出しの 1 つで指定された名前と同じです。
Mac
オブジェクトのアルゴリズム名public static final Mac getInstance(String algorithm) throws NoSuchAlgorithmException
Mac
オブジェクトを作成します。要求される MAC アルゴリズムの実装をデフォルトのプロバイダパッケージが提供する場合は、その実装を含む Mac
のインスタンスが返されます。デフォルトのプロバイダパッケージで目的のアルゴリズムが提供されていない場合には、ほかのプロバイダパッケージが検索されます。
algorithm
- 要求された MAC アルゴリズムの標準的な名前。アルゴリズムの標準名については、「Java 暗号化拡張機能リファレンスガイド」の付録 A を参照
Mac
オブジェクト
NoSuchAlgorithmException
- 指定されたアルゴリズムが、デフォルトのプロバイダパッケージにも、検索したほかのプロバイダパッケージにもない場合public static final Mac getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
Mac
オブジェクトを作成します。
algorithm
- 要求された MAC アルゴリズムの標準的な名前。アルゴリズムの標準名については、「Java 暗号化拡張機能リファレンスガイド」の付録 A を参照provider
- プロバイダ名
Mac
オブジェクト
NoSuchAlgorithmException
- 指定されたプロバイダに指定されたアルゴリズムがない場合
NoSuchProviderException
- 指定されたプロバイダが設定されていない場合
IllegalArgumentException
- provider
が null の場合public static final Mac getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
Mac
オブジェクトを生成します。provider
は登録されている必要はないことに注意してください。
algorithm
- 要求された MAC アルゴリズムの標準的な名前。アルゴリズムの標準名については、「Java 暗号化拡張機能リファレンスガイド」の付録 A を参照provider
- プロバイダ名
Mac
オブジェクト
NoSuchAlgorithmException
- 指定されたプロバイダに指定されたアルゴリズムがない場合
IllegalArgumentException
- provider
が null の場合public final Provider getProvider()
Mac
オブジェクトのプロバイダを返します。
Mac
オブジェクトのプロバイダpublic final int getMacLength()
public final void init(Key key) throws InvalidKeyException
Mac
オブジェクトを初期化します。
key
- 鍵
InvalidKeyException
- 指定された鍵がこの MAC の初期化に不適切な場合public final void init(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException
Mac
オブジェクトを初期化します。
key
- 鍵params
- アルゴリズムパラメータ
InvalidKeyException
- 指定された鍵がこの MAC の初期化に不適切な場合
InvalidAlgorithmParameterException
- 指定されたアルゴリズムパラメータがこの MAC に不適切な場合public final void update(byte input) throws IllegalStateException
input
- 処理される入力バイト
IllegalStateException
- この Mac
が初期化されていない場合public final void update(byte[] input) throws IllegalStateException
input
- 処理されるバイトの配列
IllegalStateException
- この Mac
が初期化されていない場合public final void update(byte[] input, int offset, int len) throws IllegalStateException
input
内の len
バイトを処理します。offset
から始めます。
input
- 入力バッファoffset
- 入力を開始する input
内のオフセットlen
- 処理するバイト数
IllegalStateException
- この Mac
が初期化されていない場合public final void update(ByteBuffer input)
input
内のデータを、input.position()
の位置から input.remaining()
バイトだけ処理します。終了時、バッファの位置はリミットに等しくなります。リミットに変化はありません。
input
- ByteBuffer
IllegalStateException
- この Mac
が初期化されていない場合public final byte[] doFinal() throws IllegalStateException
このメソッドを呼び出すと、Mac
オブジェクトは、init(Key)
または init(Key, AlgorithmParameterSpec)
の呼び出しを介して以前初期化された状態にリセットされます。つまり、オブジェクトは、必要に応じて update
および doFinal
の新規の呼び出しを介してリセットされ、同じ鍵から別の MAC を生成するために使用可能になります。別の鍵でこの Mac
オブジェクトを再使用するためには、init(Key)
または init(Key, AlgorithmParameterSpec)
の呼び出しを介して再度初期化する必要があります。
IllegalStateException
- この Mac
が初期化されていない場合public final void doFinal(byte[] output, int outOffset) throws ShortBufferException, IllegalStateException
このメソッドを呼び出すと、Mac
オブジェクトは、init(Key)
または init(Key, AlgorithmParameterSpec)
の呼び出しを介して以前初期化された状態にリセットされます。つまり、オブジェクトは、必要に応じて update
および doFinal
の新規の呼び出しを介してリセットされ、同じ鍵から別の MAC を生成するために使用可能になります。別の鍵でこの Mac
オブジェクトを再使用するためには、init(Key)
または init(Key, AlgorithmParameterSpec)
の呼び出しを介して再度初期化する必要があります。
MAC 結果は output
に格納されます。outOffset
から始まります。
output
- MAC 結果が格納されるバッファoutOffset
- MAC が格納される output
内のオフセット
ShortBufferException
- 指定された出力バッファが小さすぎて結果を保持できない場合
IllegalStateException
- この Mac
が初期化されていない場合public final byte[] doFinal(byte[] input) throws IllegalStateException
このメソッドを呼び出すと、Mac
オブジェクトは、init(Key)
または init(Key, AlgorithmParameterSpec)
の呼び出しを介して以前初期化された状態にリセットされます。つまり、オブジェクトは、必要に応じて update
および doFinal
の新規の呼び出しを介してリセットされ、同じ鍵から別の MAC を生成するために使用可能になります。別の鍵でこの Mac
オブジェクトを再使用するためには、init(Key)
または init(Key, AlgorithmParameterSpec)
の呼び出しを介して再度初期化する必要があります。
input
- バイト単位のデータ
IllegalStateException
- この Mac
が初期化されていない場合public final void reset()
Mac
オブジェクトをリセットします。
このメソッドを呼び出すと、Mac
オブジェクトは、init(Key)
または init(Key, AlgorithmParameterSpec)
の呼び出しを介して以前初期化された状態にリセットされます。つまり、オブジェクトは、必要に応じて update
および doFinal
の新規の呼び出しを介してリセットされ、同じ鍵から別の MAC を生成するために使用可能になります。別の鍵でこの Mac
オブジェクトを再使用するためには、init(Key)
または init(Key, AlgorithmParameterSpec)
の呼び出しを介して再度初期化する必要があります。
public final Object clone() throws CloneNotSupportedException
Object
内の clone
CloneNotSupportedException
- Cloneable
をサポートしていない委譲先で呼び出された場合Cloneable
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。