- java.lang.Object
-
- javax.crypto.spec.SecretKeySpec
-
- すべての実装されたインタフェース:
Serializable
,Key
,KeySpec
,SecretKey
,Destroyable
public class SecretKeySpec extends Object implements KeySpec, SecretKey
プロバイダに依存しない形式で秘密鍵を指定します。このクラスを使用して、バイト配列から
SecretKey
を構築することができ、プロバイダ・ベースのSecretKeyFactory
を使用する必要がありません。このクラスは、バイト配列として表すことができ、DESやTriple DES鍵など、秘密鍵に関連した鍵パラメータがない生の秘密鍵に対してだけ有効です。
- 導入されたバージョン:
- 1.4
- 関連項目:
SecretKey
,SecretKeyFactory
, 直列化された形式
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 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()
オブジェクトのハッシュ・コード値を計算します。-
インタフェース javax.security.auth.Destroyableで宣言されたメソッド
destroy, isDestroyed
-
-
-
-
コンストラクタの詳細
-
SecretKeySpec
public SecretKeySpec(byte[] key, String algorithm)
指定されたバイト配列から秘密鍵を構築します。このコンストラクタは、指定されたバイトが指定されたアルゴリズムの秘密鍵を実際に指定するかどうかは判定しません。 たとえば、アルゴリズムがDESの場合、このコンストラクタは
key
が8バイトの長さであるかどうかを判定せず、弱または半弱の鍵であるかどうかも判定しません。 これらの判定を行うためには、アルゴリズム固有の鍵仕様クラス(この場合はDESKeySpec
)を使用する必要があります。- パラメータ:
key
- 秘密鍵の鍵データ。 この配列の内容は、後続の変更に影響されないようにコピーされます。algorithm
- 指定された鍵データに関連する秘密鍵アルゴリズムの名前。 標準的なアルゴリズム名については、「Javaセキュリティ標準アルゴリズム名」のドキュメントを参照してください。- 例外:
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セキュリティ標準アルゴリズム名」のドキュメントを参照してください。- 例外:
IllegalArgumentException
-algorithm
がnull、あるいはkey
がnull、空、または短すぎる(つまりkey.length-offset<len
)場合。ArrayIndexOutOfBoundsException
-offset
またはlen
のインデックス・バイトがkey
の範囲内にない場合スローされる。
-
-
メソッドの詳細
-
getAlgorithm
public String getAlgorithm()
この秘密鍵に関連付けられているアルゴリズム名を返します。- 定義:
getAlgorithm
、インタフェース:Key
- 戻り値:
- 秘密鍵アルゴリズム
-
getEncoded
public byte[] getEncoded()
この秘密鍵の鍵データを返します。- 定義:
getEncoded
、インタフェース:Key
- 戻り値:
- 鍵データ。 このメソッドが呼び出されるたびに新しい配列を返します。
-
hashCode
public int hashCode()
オブジェクトのハッシュ・コード値を計算します。 等しいオブジェクトはハッシュ・コードも同じです。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object obj)
指定されたオブジェクトとこのオブジェクトが等価であるかどうかをテストします。 2つのSecretKeySpecオブジェクトは、どちらも同じ大文字と小文字を区別しないアルゴリズム名と鍵のエンコーディングを持つSecretKeyインスタンスであれば等しいと見なされます。- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- このオブジェクトと等しいかどうかが判定されるオブジェクト。- 戻り値:
- オブジェクトが等しいと見なされた場合はtrue、それ以外の場合、または
obj
がnullの場合はfalse。 - 関連項目:
Object.hashCode()
、HashMap
-
-