JavaTM Platform
Standard Ed. 6

javax.crypto.spec
クラス SecretKeySpec

java.lang.Object
  上位を拡張 javax.crypto.spec.SecretKeySpec
すべての実装されたインタフェース:
Serializable, Key, KeySpec, SecretKey

public class SecretKeySpec
extends Object
implements KeySpec, SecretKey

プロバイダに依存しない形式で秘密鍵を指定します。

このクラスを使用して、バイト配列から SecretKey を構築することができ、プロバイダベースの SecretKeyFactory を使用する必要がありません。

このクラスは、バイト配列として表すことができ、DES や Triple DES 鍵など、秘密鍵に関連した鍵パラメータがない生の秘密鍵に対してだけ有効です。

導入されたバージョン:
1.4
関連項目:
SecretKey, SecretKeyFactory, 直列化された形式

フィールドの概要
 
インタフェース javax.crypto.SecretKey から継承されたフィールド
serialVersionUID
 
コンストラクタの概要
SecretKeySpec(byte[] key, int offset, int len, String algorithm)
          offset から始まる key の最初の len バイトを使用して、指定されたバイト配列から秘密鍵を構築します。
SecretKeySpec(byte[] key, String algorithm)
          指定されたバイト配列から秘密鍵を構築します。
 
メソッドの概要
 boolean equals(Object obj)
          指定されたオブジェクトと現在のオブジェクトが等価であるかどうかをテストします。
 String getAlgorithm()
          この秘密鍵に関連付けられているアルゴリズム名を返します。
 byte[] getEncoded()
          この秘密鍵の鍵データを返します。
 String getFormat()
          この秘密鍵の暗号化方式群の名前を返します。
 int hashCode()
          オブジェクトのハッシュコード値を計算します。
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

SecretKeySpec

public SecretKeySpec(byte[] key,
                     String algorithm)
指定されたバイト配列から秘密鍵を構築します。

このコンストラクタは、指定されたバイトが指定されたアルゴリズムの秘密鍵を実際に指定するかどうかは判定しません。たとえば、アルゴリズムが DES の場合、このコンストラクタは key が 8 バイトの長さであるかどうかを判定せず、弱または半弱の鍵であるかどうかも判定しません。これらの判定を行うためには、アルゴリズムに特定の「鍵仕様」クラス (この場合は DESKeySpec) を使用する必要があります。

パラメータ:
key - 秘密鍵の鍵データこの配列の内容は、後続の変更に影響されないようにコピーされる
algorithm - 指定された鍵データに関連する秘密鍵アルゴリズムの名前。 標準のアルゴリズム名については、「Java 暗号化アーキテクチャーリファレンスガイド」の付録 A を参照
例外:
IllegalArgumentException - algorithm が null、あるいは key が null または空の場合

SecretKeySpec

public SecretKeySpec(byte[] key,
                     int offset,
                     int len,
                     String algorithm)
offset から始まる key の最初の len バイトを使用して、指定されたバイト配列から秘密鍵を構築します。

秘密鍵を構成するバイトは、key[offset] から key[offset+len-1] までのバイトです。

このコンストラクタは、指定されたバイトが指定されたアルゴリズムの秘密鍵を実際に指定するかどうかは判定しません。たとえば、アルゴリズムが DES の場合、このコンストラクタは key が 8 バイトの長さであるかどうかを判定せず、弱または半弱の鍵であるかどうかも判定しません。これらの判定を行うためには、アルゴリズムに特定の「鍵仕様」クラス (この場合は DESKeySpec) を使用する必要があります。

パラメータ:
key - 秘密鍵の鍵データ配列の offset から始まる最初の len バイトは、後続の変更に影響されないようにコピーされる
offset - 鍵データが始まる key 内のオフセット
len - 鍵データの長さ
algorithm - 指定された鍵データに関連する秘密鍵アルゴリズムの名前。 標準のアルゴリズム名については、「Java 暗号化アーキテクチャーリファレンスガイド」の付録 A を参照
例外:
IllegalArgumentException - algorithm が null、あるいは key が null、空、または短すぎる (つまり key.length-offset) 場合
ArrayIndexOutOfBoundsException - offset または len のインデックスバイトが key の範囲内にない場合スローされる
メソッドの詳細

getAlgorithm

public String getAlgorithm()
この秘密鍵に関連付けられているアルゴリズム名を返します。

定義:
インタフェース Key 内の getAlgorithm
戻り値:
秘密鍵アルゴリズム

getFormat

public String getFormat()
この秘密鍵の暗号化方式群の名前を返します。

定義:
インタフェース Key 内の getFormat
戻り値:
「生の」文字列

getEncoded

public byte[] getEncoded()
この秘密鍵の鍵データを返します。

定義:
インタフェース Key 内の getEncoded
戻り値:
鍵データ。このメソッドが呼び出されるたびに新しい配列を返す

hashCode

public int hashCode()
オブジェクトのハッシュコード値を計算します。等しいオブジェクトはハッシュコードも同じです。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
指定されたオブジェクトと現在のオブジェクトが等価であるかどうかをテストします。2 つの SecretKeySpec オブジェクトは、どちらも同じ大文字と小文字を区別しないアルゴリズム名と鍵のエンコーディングを持つ SecretKey インスタンスであれば等しいと見なされます。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - このオブジェクトと等しいかどうかが判定されるオブジェクト
戻り値:
オブジェクトが等しいと見なされた場合は true。そうでない場合、または obj が null の場合は false
関連項目:
Object.hashCode(), Hashtable

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。