NTT DOCOMO and Hitachi Kokusai Electric Know-how & Confidential

com.docomo_um.module
クラス PINManager

java.lang.Object
  上位を拡張 com.docomo_um.module.PINManager

public class PINManager
extends java.lang.Object

PIN(Personal Identification Number)の管理クラスです。

PINの照合やPINの設定変更を実行する場合にPINコードを入力しますが、 システム全体でPINコードの入力を連続して3回間違えると自動的にロック(STATUS_LOCK_PIN1)されます。 システムはPINコードの入力誤りをエラーカウントとしてカウントしており、PINコードの入力に成功した場合に、それまでのエラーカウントをリセットします。
PINがロックされた場合は、unlockPIN1Code(String, String) をコールしてロックを解除して下さい。 ロック解除コードの入力を連続して10回間違えると完全ロック(STATUS_FULL_LOCK)されます。 システムはロック解除コードの入力誤りをエラーカウントとしてカウントしており、ロック解除コードの入力に成功した場合に、それまでのエラーカウントをリセットします。
完全ロック(STATUS_FULL_LOCK)された場合、アプリケーションによるリカバリ方法はありませんのでご注意ください。
なお、エラーカウントはモデムモードと共通です。

PIN1コードを無効に設定した場合、アプリケーション起動直後の状態は、STATUS_READYとなります。
PIN1コードを有効に設定した場合、アプリケーション起動直後の状態は、STATUS_WAIT_PIN1となります。

PIN状態が、PIN1ロック状態(STATUS_LOCK_PIN1)、PIN1照合待ち状態(STATUS_WAIT_PIN1)、完全ロック状態(STATUS_FULL_LOCK)の何れかの場合、 別途規定している場合を除き各APIにUIM未挿入の状態と同等の制限が発生します。


フィールドの概要
static int STATUS_FULL_LOCK
          PIN状態の一つとして、PINの完全ロック状態を表します。
static int STATUS_LOCK_PIN1
          PIN状態の一つとして、PIN1ロック状態を表します。
static int STATUS_READY
          PIN状態の一つとして、PIN1コード照合済みの状態、またはPIN1コードが無効に設定されている状態を表します。
static int STATUS_WAIT_PIN1
          PIN状態の一つとして、PIN1コード照合待ちの状態を表します。
 
メソッドの概要
 void changePIN1Code(java.lang.String currentCode, java.lang.String newCode)
          PIN1コードを変更します。
 int getFullLockRemainCount()
          完全ロック状態(STATUS_FULL_LOCK)となるまでに入力可能な残りの回数を取得します。
 int getPIN1LockRemainCount()
          PIN1ロック状態(STATUS_LOCK_PIN1)となるまでに入力可能な残り回数を取得します。
 int getPINStatus()
          PIN状態を取得します。
 void setPIN1CodeEnable(boolean enabled, java.lang.String code)
          PIN1コードの有効/無効を指定します。
 void unlockPIN1Code(java.lang.String unlockCode, java.lang.String newCode)
          PIN1のロックを解除します。
 void verifyPIN1Code(java.lang.String code)
          PIN1コードの照合を行います。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait
 

フィールドの詳細

STATUS_READY

public static final int STATUS_READY
PIN状態の一つとして、PIN1コード照合済みの状態、またはPIN1コードが無効に設定されている状態を表します。

関連項目:
定数フィールド値

STATUS_WAIT_PIN1

public static final int STATUS_WAIT_PIN1
PIN状態の一つとして、PIN1コード照合待ちの状態を表します。

関連項目:
定数フィールド値

STATUS_LOCK_PIN1

public static final int STATUS_LOCK_PIN1
PIN状態の一つとして、PIN1ロック状態を表します。

関連項目:
定数フィールド値

STATUS_FULL_LOCK

public static final int STATUS_FULL_LOCK
PIN状態の一つとして、PINの完全ロック状態を表します。

関連項目:
定数フィールド値
メソッドの詳細

verifyPIN1Code

public void verifyPIN1Code(java.lang.String code)
                    throws ExternalStatusException,
                           ModuleException,
                           DeviceException
PIN1コードの照合を行います。

PIN1コード照合済み(STATUS_READY)の場合、本メソッドをコールしても何もしません。

パラメータ:
code - 照合するPIN1コードを指定します。
例外:
java.lang.NullPointerException - codeがnullの場合に発生します。
java.lang.IllegalArgumentException - 不正なcodeを指定した場合に発生します。
ExternalStatusException - 次の状態で本メソッドをコールした場合に発生します。
ModuleException - 内部エラーにより処理が中断された場合に発生します。
DeviceException - デバイスの故障により、PIN1コードの照合に失敗した場合に発生します。

changePIN1Code

public void changePIN1Code(java.lang.String currentCode,
                           java.lang.String newCode)
                    throws ExternalStatusException,
                           ModuleException,
                           DeviceException
PIN1コードを変更します。

PIN1を無効化している場合、本メソッドをコールしても何もしません。
本メソッドの引数currentCodeに不正な値を入力した場合、照合失敗とみなしエラーカウントが加算されます。

パラメータ:
currentCode - 現在のPIN1コードを指定します。
newCode - 新しいPIN1コードを指定します。
例外:
java.lang.NullPointerException - currentCodeもしくは、newCodeがnullの場合に発生します。
java.lang.IllegalArgumentException - 不正なcurrentCodeを指定した場合、または不正なnewCodeを指定した場合に発生します。
ExternalStatusException - 次の状態で本メソッドをコールした場合に発生します。
ModuleException - 内部エラーにより処理が中断された場合に発生します。
DeviceException - デバイスの故障により、PIN1コードの変更に失敗した場合に発生します。

setPIN1CodeEnable

public void setPIN1CodeEnable(boolean enabled,
                              java.lang.String code)
                       throws ExternalStatusException,
                              ModuleException,
                              DeviceException
PIN1コードの有効/無効を指定します。

本メソッドが正常に処理を終えた時点でPIN1コードの有効/無効の設定が変更されます。 本メソッドでPIN1コードを有効に設定した場合、PIN1コードが有効かつ既にverifyPIN1Code(String)でPIN1コードの照合が済んでいる状態と同等の状態となります。 そのためchangePIN1Code(String, String)でPIN1コードの変更を行うことは可能ですが、 verifyPIN1Code(String)でPIN1コードの照合を行うのは次回起動時となります。 なお、本メソッドを複数回コールした場合、最後にコールしたものが有効となります。
本メソッドの引数codeに不正な値を入力した場合、照合失敗とみなしエラーカウントが加算されます。

パラメータ:
enabled - PIN1コードを有効にする場合はtrueを、そうでない場合はfalseを指定します。
code - PIN1コードを指定します。
例外:
java.lang.NullPointerException - codeがnullの場合に発生します。
java.lang.IllegalArgumentException - 不正なcodeを指定した場合に発生します。
ExternalStatusException - 次の状態で本メソッドをコールした場合に発生します。
ModuleException - 内部エラーにより処理が中断された場合に発生します。
DeviceException - デバイスの故障により、PIN1コードの有効/無効設定に失敗した場合に発生します。

getPINStatus

public int getPINStatus()
                 throws ExternalStatusException,
                        ModuleException,
                        DeviceException
PIN状態を取得します。

戻り値:
PIN状態を返します。
例外:
ExternalStatusException - UIMが挿入されていない場合など、PIN状態の取得に失敗した場合に発生します。
ModuleException - 内部エラーにより処理が中断された場合に発生します。
DeviceException - デバイスの故障により、PIN状態の取得に失敗した場合に発生します。
関連項目:
STATUS_READY, STATUS_WAIT_PIN1, STATUS_LOCK_PIN1, STATUS_FULL_LOCK

unlockPIN1Code

public void unlockPIN1Code(java.lang.String unlockCode,
                           java.lang.String newCode)
                    throws ExternalStatusException,
                           ModuleException,
                           DeviceException
PIN1のロックを解除します。

PIN1ロック状態(STATUS_LOCK_PIN1)または完全ロック状態(STATUS_FULL_LOCK)以外の状態で本メソッドをコールした場合、 本メソッドをコールしても何もしません。
PIN1ロック解除コードの入力を10回連続で間違えると完全にロックされます。
PIN1のロック解除に成功した場合、PIN状態はSTATUS_READYへ遷移します。

パラメータ:
unlockCode - PIN1ロック解除コードを指定します。
newCode - 新しいPIN1コードを指定します。
例外:
java.lang.NullPointerException - unlockCodeもしくは、newCodeがnullの場合に発生します。
java.lang.IllegalArgumentException - 不正なunlockCodeを指定した場合、または不正なnewCodeを指定した場合に発生します。
ExternalStatusException - 次の状態で本メソッドをコールした場合に発生します。
  • 完全ロック状態(STATUS_FULL_LOCK
  • UIMが挿入されていない状態
ModuleException - 内部エラーにより処理が中断された場合に発生します。
DeviceException - デバイスの故障により、PIN1ロックの解除に失敗した場合に発生します。

getPIN1LockRemainCount

public int getPIN1LockRemainCount()
                           throws ModuleException,
                                  ExternalStatusException,
                                  DeviceException
PIN1ロック状態(STATUS_LOCK_PIN1)となるまでに入力可能な残り回数を取得します。

エラーカウントはモデムモードと共通のため、モデムモードでPIN1コードの照合に失敗した場合もエラーカウントは加算されます。
エラーカウントは正しいPIN1コードが入力された場合とPIN1ロックを解除した場合にリセットされ、電源のオンオフ等によりリセットされることはありません。

戻り値:
PIN1ロック状態(STATUS_LOCK_PIN1)となるまでに入力可能な残り回数を返します。
例外:
ExternalStatusException - UIMが挿入されていない場合など、PIN1ロック状態となるまでに入力可能な残り回数の取得に失敗した場合に発生します。
ModuleException - 内部エラーにより処理が中断した場合に発生します。
DeviceException - デバイスの故障により、PIN1ロック状態となるまでに入力可能な残り回数の取得に失敗した場合に発生します。

getFullLockRemainCount

public int getFullLockRemainCount()
                           throws ModuleException,
                                  ExternalStatusException,
                                  DeviceException
完全ロック状態(STATUS_FULL_LOCK)となるまでに入力可能な残りの回数を取得します。

エラーカウントはモデムモードと共通のため、モデムモードでロック解除コードの照合に失敗した場合もエラーカウントは加算されます。
エラーカウントは正しいロック解除コードが入力された場合のみリセットされ、電源のオンオフ等によりリセットされることはありません。

戻り値:
完全ロック状態(STATUS_FULL_LOCK)となるまでに入力可能な残りの回数を返します。
例外:
ExternalStatusException - UIMが挿入されていない場合など、完全ロック状態となるまでに入力可能な残り回数の取得に失敗した場合に発生します。
ModuleException - 内部エラーにより処理が中断した場合に発生します。
DeviceException - デバイスの故障により、完全ロック状態となるまでに入力可能な残り回数の取得に失敗した場合に発生します。

Copyright © 2013 NTT DOCOMO, INC. and Hitachi Kokusai Electric Inc. All Rights Reserved.