発生する例外
このページでは、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 バイトよりも大きい場合。 |
また、これらの例外に加えて、 カードとの通信を行う関数すべてで発生する例外、 パスワードの照合を含む関数を実行する際に発生する例外 も発生します。
モック環境において発生する例外
ConfigurableCardSupplier のコンストラクタに与えた引数が不正な値であった場合、特定の関数の実行時に例外が発生します。
以下の例外はカードとの通信の際に証明書の取得を含む関数で発生します。 例えば、signDataWithDigitalSignatureSecretKey や signDataWithUserAuthenticationSecretKey など、 SigningResultを返却する関数が該当します。
発生する例外 | 発生理由 |
---|---|
IllegalArgumentException | ConfigurableCardSupplier のコンストラクタに与えた certNotBefore が 2022-01-01 00:00:00.000Z 〜 2031-12-30 00:00:00.000Z の範囲外であった場合。この範囲はモック環境の CA 証明書の有効期間です。生成する証明書の有効期間がこの範囲外となり有効な証明書とならないため例外が発生します。 |
IllegalArgumentException | ConfigurableCardSupplier のコンストラクタに与えた certNotBefore が certNotAfter より後となっている場合。生成する証明書が有効である期間が存在しないため例外が発生します。 |
IllegalArgumentException | テナント ID の設定で設定したテナント ID の形式が間違っている場合。 |