メインコンテンツまでスキップ

発生する例外

このページでは、PocketSign Verify SDK から発生する例外について説明します。

SDK が提供する関数は、関数の挙動によっていくつかのグループに分けることができます。 これらのグループごとに、発生する例外一覧を記載します。

また、モック環境においてのみ発生する例外があります。 それらの例外一覧をモック環境で使用できる関数から発生する例外に記載します。

カードとの通信を行う関数すべてで発生する例外

マイナンバーカードに搭載されている AP を操作するためのクラスの全てのメソッドにおいて発生します。

AP を操作するためのクラスは全てクラス名の末尾が AP となっており、 例えば、JPKIAPなどがあります。

発生する例外発生理由
ReaderSessionExceptionカードとの通信や NFC リーダーに異常があった場合。
CommandExecutionException(status=CommandExecutionError)マイナンバーカードとの通信中、コマンド実行に失敗した場合。カードに不具合がある場合に発生することを想定しています。
UnsupportedVersionExceptionマイナンバーカードに搭載されている AP のバージョンが Verify SDK のサポートしないバージョンであった場合。

パスワードの照合を含む関数を実行する際に発生する例外

パスワードの照合を含む関数は、全て password という名前の仮引数を持ちます。 例えば、JPKIAP クラスのメソッドである changeDigitalSignaturePassword や signDataWithDigitalSignatureSecretKey などが該当します。

発生する例外発生理由
IncorrectPasswordFormatExceptionパスワードのフォーマットが異なっていた場合。
CommandExecutionException(status=IncorrectPassword)パスワードが間違っていた場合。

また、これらの例外に加えてカードとの通信を行う関数すべてで発生する例外も発生します。

署名を生成する関数を実行する際に発生する例外

以下の例外は、署名対象データのハッシュ値を引数に取り署名を生成する関数においてのみ発生します。

署名対象データのハッシュ値を引数に取り署名を生成する関数は、全て digest という名前の仮引数を持ちます。 これらの関数は、 signDigestWithDigitalSignatureSecretKey と signDigestWithUserAuthenticationSecretKey が該当します。

発生する例外発生理由
IllegalArgumentException与えたハッシュ値のサイズが 245 バイトよりも大きい場合。

また、これらの例外に加えて、 カードとの通信を行う関数すべてで発生する例外パスワードの照合を含む関数を実行する際に発生する例外 も発生します。

データを読み出す関数を実行する際に発生する例外

以下の例外は、証明書の読み出しや券面事項データの読み出しを行う関数において発生します。

発生する例外発生理由
IllegalStateException読み出したデータが SDK の期待する形式と異なっていた場合。格納されているデータに異常がある場合に発生することを想定しています。

また、これらの例外に加えて、 カードとの通信を行う関数すべてで発生する例外パスワードの照合を含む関数を実行する際に発生する例外 も発生します。

その他の関数

Android 環境において発生する例外

発生する例外発生理由
ReaderSessionExceptionReaderSession.close 関数の実行時にマイナンバーカードが既に端末から離されている場合。

モック環境でのみ発生する例外

ConfigurableCard など、モック環境で生成するカード情報をカスタマイズするクラスのコンストラクタに与えた引数が不正な値であった場合に例外が発生します。

発生する例外発生理由
IllegalArgumentExceptionConfigurableCard のコンストラクタに与えた myNumber が 12 桁の数値文字列でない場合。
IllegalArgumentExceptionConfigurableDigitalSignatureCertificate、ConfigurableUserAuthenticationCertificate のコンストラクタに与えた notBefore もしくは notAfter が モック環境の CA 証明書の有効期間の範囲外であった場合。
IllegalArgumentExceptionConfigurableDigitalSignatureCertificate、ConfigurableUserAuthenticationCertificate のコンストラクタに与えた notBeforenotAfter よりも後の日時であった場合。
IllegalArgumentExceptionConfigurableDigitalSignatureCertificate、ConfigurableUserAuthenticationCertificate のコンストラクタに与えた identifier が 0x80000000 以上であった場合。