モジュール java.base
パッケージ 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)
      指定されたバイト配列から秘密鍵を構築します。
    • コンストラクタの詳細

      • 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
        戻り値:
        秘密鍵アルゴリズム
      • getFormat

        public String getFormat​()
        この秘密鍵の符号化形式の名前を返します。
        定義:
        getFormat、インタフェース: Key
        戻り値:
        「生の」文字列
      • getEncoded

        public byte[] getEncoded​()
        この秘密鍵の鍵データを返します。
        定義:
        getEncoded、インタフェース: Key
        戻り値:
        鍵データ。 このメソッドが呼び出されるたびに新しい配列を返します。
      • equals

        public boolean equals​(Object obj)
        指定されたオブジェクトとこのオブジェクトが等価であるかどうかをテストします。 2つのSecretKeySpecオブジェクトは、どちらも同じ大文字と小文字を区別しないアルゴリズム名と鍵のエンコーディングを持つSecretKeyインスタンスであれば等しいと見なされます。
        オーバーライド:
        equals、クラス: Object
        パラメータ:
        obj - このオブジェクトと等しいかどうかが判定されるオブジェクト。
        戻り値:
        オブジェクトが等しいと見なされた場合はtrue、それ以外の場合、またはobjがnullの場合はfalse。
        関連項目:
        Object.hashCode(), HashMap