com.nttdocomo.security
クラス CipherPBE

Object
  拡張com.nttdocomo.security.CipherPBE

public final class CipherPBE
extends Object
 [iアプリオプションAPI]

PBE を用いた機能を定義します。

PBE は PCKS#5 に準拠しています。 なお、PKCS#5 の規定については、 RFC 2898 を参照してください。

導入されたバージョン:
DoJa-5.1 (905i)

フィールドの概要
static int HASH_SHA1
          PBE鍵の生成アルゴリズムがSHA1であることを表します(=1)。
 
コンストラクタの概要
CipherPBE(byte[] password, byte[] salt, int iterationCount, int hashAlgorithm, int cipher, byte[] iv)
           PBEオブジェクトを生成します。
 
メソッドの概要
 CipherSessionKey createCipherSessionKey(byte[] encryptedSessionKey)
           暗号化されたセッション鍵を指定し、CipherSessionKeyオブジェクトを生成します。
 CipherSessionKey createCipherSessionKey(int cipher)
           CipherSessionKey オブジェクトを生成します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

HASH_SHA1

public static final int HASH_SHA1
PBE鍵の生成アルゴリズムがSHA1であることを表します(=1)。

関連項目:
CipherPBE(byte[], byte[], int, int, int, byte[]), 定数フィールド値
コンストラクタの詳細

CipherPBE

public CipherPBE(byte[] password,
                 byte[] salt,
                 int iterationCount,
                 int hashAlgorithm,
                 int cipher,
                 byte[] iv)

PBEオブジェクトを生成します。 PBE鍵作成時に、指定されたパスワード、ソルト、繰り返し数、ハッシュアルゴリズム、 暗号化方式が使われます。 PBE鍵でセッション鍵を暗号化/復号化する場合には、指定された暗号化方式と初期化ベクタが使われます。

パスワードは、ASCII(図形文字:0x20〜0x7e) をミニマムスペックでサポートします。 サポートされている以外の文字を指定した場合の動作は機種依存です。 パスワードは 1 文字以上で指定します。 ソルトは 64 ビット以上で指定します。 繰り返し数は 1000 以上の値を指定します。 指定したこれらの値が下限値より小さい場合、 上限値より大きい場合(上限値は機種依存)には例外が発生します。 暗号化方式には、SymmetricCipher で定義されている暗号化方式を指定します。 暗号化方式に未定義の値を指定した場合には例外が発生します。 初期化ベクタには、暗号化方式の暗号化ブロックサイズと等しいサイズのバイト配列を指定します。 初期化ベクタに null が指定された場合には例外が発生します。 初期化ベクタのサイズが、指定した暗号化方式と異なる場合には例外が発生します。

端末によっては、暗号化機能をサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。

パラメータ:
password - パスワードを指定します。
salt - ソルトを指定します。
iterationCount - 繰り返し数を指定します。
hashAlgorithm - ハッシュアルゴリズムを指定します。
cipher - SymmetricCipherで定義されている暗号化方式を指定します。
iv - 初期化ベクタを指定します。
例外:
UnsupportedOperationException - 端末が暗号化機能をサポートしていない場合に発生します。
NullPointerException - 引数 password、salt、iv に null が指定された場合に発生します。
IllegalArgumentException - 引数 password の要素数が 1 未満の場合、要素数の上限を超えた場合に発生します。
IllegalArgumentException - 引数 salt の要素数が 8 未満の場合、要素数の上限を超えた場合に発生します。
IllegalArgumentException - 引数 hashAlgorithm に不正な値が指定された場合に発生します。
IllegalArgumentException - 引数 cipher に不正な値が指定された場合に発生します。
IllegalArgumentException - 引数 iterationCount に 1000 未満の値、または上限を超えた値が指定された場合に発生します。
IllegalArgumentException - 初期化ベクタのサイズが暗号化方式に対応していない場合に発生します。
メソッドの詳細

createCipherSessionKey

public CipherSessionKey createCipherSessionKey(int cipher)

CipherSessionKey オブジェクトを生成します。

このメソッドを呼び出す度に、セッション鍵を作成し、 CipherSessionKey オブジェクトを生成します。

セッション鍵作成時に、指定された暗号化方式が使われます。 暗号化方式には、SymmetricCipher で定義されている暗号化方式を指定します。 暗号化方式に未定義の値を指定した場合には例外が発生します。

CipherSessionKey.getEncryptedSessionKey() を呼び出すと暗号化されたセッション鍵が取り出せます。

ミニマムスペック:
ミニマムスペックでは、このオブジェクトから生成できる CipherSessionKey オブジェクトは 1 つです。

パラメータ:
cipher - SymmetricCipher で定義されている暗号化方式を指定します。
戻り値:
CipherSessionKey オブジェクトを返します。
例外:
IllegalArgumentException - 引数 cipher に不正な値が指定された場合に発生します。
IllegalStateException - CipherSessionKey オブジェクトが作成できない場合に発生します。
関連項目:
CipherSessionKey, SymmetricCipher

createCipherSessionKey

public CipherSessionKey createCipherSessionKey(byte[] encryptedSessionKey)
                                        throws CipherException

暗号化されたセッション鍵を指定し、CipherSessionKeyオブジェクトを生成します。

ミニマムスペック:
ミニマムスペックでは、このオブジェクトから生成できる CipherSessionKey オブジェクトは 1 つです。

パラメータ:
encryptedSessionKey - 暗号化されたセッション鍵を指定します。
戻り値:
CipherSessionKey オブジェクトを返します。
例外:
NullPointerException - 引数 encryptedSessionKey に null が指定された場合に発生します。
CipherException - 暗号化されたセッション鍵が不正である場合に発生します(BAD_PADDING)。
IllegalStateException - CipherSessionKey オブジェクトが作成できない場合に発生します。
関連項目:
CipherSessionKey, SymmetricCipher


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。