ConfirmationAP
FeliCa カード(交通系 IC カード、Edy、WAON など)や、ISO/IEC 14443−4 Type-Aカード(クレジットカードなど)をマイナンバーカードとして扱い、 券面事項確認APを操作するクラス
本番環境のドキュメントは cardinfo パッケージの ConfirmationAP を参照してください。
データの読み出し
このAPからは以下のデータを読み出すことができます。読み出しには、それぞれに対応する暗証番号等が必要です。
個人番号画像:照合番号A
券面事項情報:照合番号B
生年月日:生年月日読出用暗証番号
暗証番号の形式等の詳細については、暗証番号の形式を参照してください。
それぞれのデータを読み出すメソッドは、下記のとおりです。
個人番号画像の読み出し:readMyNumberContentWithVerificationNumberA
券面事項情報の読み出し:readPersonalInfoContentWithVerificationNumberB
これらのメソッドは、通信しているカードが本物のマイナンバーカードであるかどうかを確認するための内部認証用の署名と証明書を同時に取得します。
対応するハッシュ関数
内部認証に使用されるダイジェストの作成に利用できるハッシュ関数は、CRYPTREC暗号リスト(電子政府推奨暗号リスト)で推奨されるハッシュ関数のみです。 PocketSign Verify SDKでは、CRYPTREC LS-0001-2022を参照しており、このうち以下のハッシュ関数のみに対応しています。
暗証番号
カードの暗証番号は、それぞれ
照合番号A: ランダムに生成されたマイナンバー12桁
照合番号B: ランダムに生成された生年月日6桁+"2033"+"1234"
生年月日読出用暗証番号: ランダムに生成された生年月日半角数字6桁
が設定されています。
ConfigurableCardを使用している場合、暗証番号の値は下記のとおり設定されます。
照合番号Aは
myNumber
の値が設定されます。照合番号Bの生年月日部分と、生年月日読出用暗証番号は
personalInfo
で指定した生年月日の値が設定されます。照合番号Bの有効期限西暦部分は
digitalSignatureCertificate.notBefore
もしくはuserAuthenticationCertificate.notBefore
で指定した時刻から10年後の西暦の値が設定されます。照合番号Bのセキュリティコードは
securityCode
の値が設定されます。
暗証番号誤りに起因する例外
暗証番号の照合を行い、不一致であった場合にはCommandExecutionExceptionが発生します。 このとき、CommandExecutionException.statusはCommandResponseStatus.IncorrectPasswordとなります。
ロックされている状態で暗証番号の照会を試みた場合にもCommandExecutionExceptionが発生します。 このとき、CommandExecutionException.statusはCommandResponseStatus.CommandExecutionError.ReferencedIEFClosedとなります。
読み出したデータのパース・検証
このSDKによって読み出されたデータ・内部認証の署名は、PocketSign Verify APIによってパース・検証することができます。
詳しくはVerify APIリファレンスをご参照ください。
トークンの管理
PocketSign Verify APIの利用は、必ずSP事業者が管理するサーバを経由して行ってください。 APIトークンをアプリケーションに含めて配布することは、Verify APIの不正利用につながるため、絶対に行わないでください。
FeliCa カード(交通系 IC カード、Edy、WAON など)や、ISO/IEC 14443−4 Type-Aカード(クレジットカードなど)をマイナンバーカードとして扱い、 券面事項確認APを操作するクラス
本番環境のドキュメントは cardinfo パッケージの ConfirmationAP を参照してください。
データの読み出し
このAPからは以下のデータを読み出すことができます。読み出しには、それぞれに対応する暗証番号等が必要です。
個人番号画像:照合番号A
券面事項情報:照合番号B
生年月日:生年月日読出用暗証番号
暗証番号の形式等の詳細については、暗証番号の形式を参照してください。
それぞれのデータを読み出すメソッドは、下記のとおりです。
個人番号画像の読み出し:readMyNumberContentWithVerificationNumberA
券面事項情報の読み出し:readPersonalInfoContentWithVerificationNumberB
これらのメソッドは、通信しているカードが本物のマイナンバーカードであるかどうかを確認するための内部認証用の署名と証明書を同時に取得します。
対応するハッシュ関数
内部認証に使用されるダイジェストの作成に利用できるハッシュ関数は、CRYPTREC暗号リスト(電子政府推奨暗号リスト)で推奨されるハッシュ関数のみです。 PocketSign Verify SDKでは、CRYPTREC LS-0001-2022を参照しており、このうち以下のハッシュ関数のみに対応しています。
暗証番号
カードの暗証番号は、それぞれ
照合番号A: ランダムに生成されたマイナンバー12桁
照合番号B: ランダムに生成された生年月日6桁+"2033"+"1234"
生年月日読出用暗証番号: ランダムに生成された生年月日半角数字6桁
が設定されています。
ConfigurableCardを使用している場合、暗証番号の値は下記のとおり設定されます。
照合番号Aは
myNumber
の値が設定されます。照合番号Bの生年月日部分と、生年月日読出用暗証番号は
personalInfo
で指定した生年月日の値が設定されます。照合番号Bの有効期限西暦部分は
digitalSignatureCertificate.notBefore
もしくはuserAuthenticationCertificate.notBefore
で指定した時刻から10年後の西暦の値が設定されます。照合番号Bのセキュリティコードは
securityCode
の値が設定されます。
暗証番号誤りに起因する例外
暗証番号の照合を行い、不一致であった場合にはCommandExecutionExceptionが発生します。 このとき、CommandExecutionException.statusはCommandResponseStatus.IncorrectPasswordとなります。
ロックされている状態で暗証番号の照会を試みた場合にもCommandExecutionExceptionが発生します。 このとき、CommandExecutionException.statusはCommandResponseStatus.CommandExecutionError.ReferencedIEFClosedとなります。
読み出したデータのパース・検証
このSDKによって読み出されたデータ・内部認証の署名は、PocketSign Verify APIによってパース・検証することができます。
詳しくはVerify APIリファレンスをご参照ください。
トークンの管理
PocketSign Verify APIの利用は、必ずSP事業者が管理するサーバを経由して行ってください。 APIトークンをアプリケーションに含めて配布することは、Verify APIの不正利用につながるため、絶対に行わないでください。
See also
FeliCa カード(交通系 IC カード、Edy、WAON など)や、ISO/IEC 14443−4 Type-Aカード(クレジットカードなど)をマイナンバーカードとして扱い、 券面事項確認APを操作するクラス
本番環境のドキュメントは cardinfo パッケージの ConfirmationAP を参照してください。
データの読み出し
このAPからは以下のデータを読み出すことができます。読み出しには、それぞれに対応する暗証番号等が必要です。
個人番号画像:照合番号A
券面事項情報:照合番号B
生年月日:生年月日読出用暗証番号
暗証番号の形式等の詳細については、暗証番号の形式を参照してください。
それぞれのデータを読み出すメソッドは、下記のとおりです。
個人番号画像の読み出し:readMyNumberContentWithVerificationNumberA
券面事項情報の読み出し:readPersonalInfoContentWithVerificationNumberB
これらのメソッドは、通信しているカードが本物のマイナンバーカードであるかどうかを確認するための内部認証用の署名と証明書を同時に取得します。
対応するハッシュ関数
内部認証に使用されるダイジェストの作成に利用できるハッシュ関数は、CRYPTREC暗号リスト(電子政府推奨暗号リスト)で推奨されるハッシュ関数のみです。 PocketSign Verify SDKでは、CRYPTREC LS-0001-2022を参照しており、このうち以下のハッシュ関数のみに対応しています。
暗証番号
カードの暗証番号は、それぞれ
照合番号A: ランダムに生成されたマイナンバー12桁
照合番号B: ランダムに生成された生年月日6桁+"2033"+"1234"
生年月日読出用暗証番号: ランダムに生成された生年月日半角数字6桁
が設定されています。
ConfigurableCardを使用している場合、暗証番号の値は下記のとおり設定されます。
照合番号Aは
myNumber
の値が設定されます。照合番号Bの生年月日部分と、生年月日読出用暗証番号は
personalInfo
で指定した生年月日の値が設定されます。照合番号Bの有効期限西暦部分は
digitalSignatureCertificate.notBefore
もしくはuserAuthenticationCertificate.notBefore
で指定した時刻から10年後の西暦の値が設定されます。照合番号Bのセキュリティコードは
securityCode
の値が設定されます。
暗証番号誤りに起因する例外
暗証番号の照合を行い、不一致であった場合にはCommandExecutionExceptionが発生します。 このとき、CommandExecutionException.statusはCommandResponseStatus.IncorrectPasswordとなります。
ロックされている状態で暗証番号の照会を試みた場合にもCommandExecutionExceptionが発生します。 このとき、CommandExecutionException.statusはCommandResponseStatus.CommandExecutionError.ReferencedIEFClosedとなります。
読み出したデータのパース・検証
このSDKによって読み出されたデータ・内部認証の署名は、PocketSign Verify APIによってパース・検証することができます。
詳しくはVerify APIリファレンスをご参照ください。
トークンの管理
PocketSign Verify APIの利用は、必ずSP事業者が管理するサーバを経由して行ってください。 APIトークンをアプリケーションに含めて配布することは、Verify APIの不正利用につながるため、絶対に行わないでください。
See also
Constructors
同一のReaderSessionインスタンスは単一の通信セッション内で実行されます。複数のAPを使用しながら一回のカードタッチで完了させたい操作がある場合、同一のインスタンスを使用してこのクラスを初期化してください。
同一のReaderSessionインスタンスは単一の通信セッション内で実行されます。複数のAPを使用しながら一回のカードタッチで完了させたい操作がある場合、同一のインスタンスを使用してこのクラスを初期化してください。
同一のReaderSessionインスタンスは単一の通信セッション内で実行されます。複数のAPを使用しながら一回のカードタッチで完了させたい操作がある場合、同一のインスタンスを使用してこのクラスを初期化してください。
Functions
生年月日読出用暗証番号を使用して生年月日情報データを取得する
生年月日読出用暗証番号を使用して生年月日情報データを取得する
照合番号Aを使用して個人番号画像データを取得する
照合番号Aを使用して個人番号画像データを取得する
照合番号Bを使用して券面事項情報データを取得する
照合番号Bを使用して券面事項情報データを取得する