JavaTM 2 Platform
Standard Ed. 5.0

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 Cryptography Extension Reference Guide」の付録 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 Cryptography Extension Reference Guide」の付録 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 2 Platform
Standard Ed. 5.0

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

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