ConfirmationAP

class ConfirmationAP(session: ReaderSession) : ConfirmationAPInterface<ByteArray>

FeliCa カード(交通系 IC カード、Edy、WAON など)や、ISO/IEC 14443−4 Type-Aカード(クレジットカードなど)をマイナンバーカードとして扱い、 券面事項確認APを操作するクラス

本番環境のドキュメントは cardinfo パッケージの ConfirmationAP を参照してください。

データの読み出し

このAPからは以下のデータを読み出すことができます。読み出しには、それぞれに対応する暗証番号等が必要です。

  • 個人番号画像:照合番号A

  • 券面事項情報:照合番号B

  • 生年月日:生年月日読出用暗証番号

暗証番号の形式等の詳細については、暗証番号の形式を参照してください。

それぞれのデータを読み出すメソッドは、下記のとおりです。

これらのメソッドは、通信しているカードが本物のマイナンバーカードであるかどうかを確認するための内部認証用の署名と証明書を同時に取得します。

対応するハッシュ関数

内部認証に使用されるダイジェストの作成に利用できるハッシュ関数は、CRYPTREC暗号リスト(電子政府推奨暗号リスト)で推奨されるハッシュ関数のみです。 PocketSign Verify SDKでは、CRYPTREC LS-0001-2022を参照しており、このうち以下のハッシュ関数のみに対応しています。

暗証番号

カードの暗証番号は、それぞれ

  • 照合番号A: ランダムに生成されたマイナンバー12桁

  • 照合番号B: ランダムに生成された生年月日6桁+"2032"+"1234"

  • 生年月日読出用暗証番号: ランダムに生成された生年月日半角数字6桁

が設定されています。

ConfigurableCardSupplierを使用している場合、暗証番号の値は下記のとおり設定されます。

  • 照合番号Aは、ConfigurableCardSupplierの引数 myNumber の値が設定されます。

  • 照合番号Bと生年月日読出用暗証番号に使用される生年月日は、ConfigurableCardSupplierの引数 personalInfo で指定した生年月日の値が設定されます。

  • 照合番号Bの有効期限西暦部分は、ConfigurableCardSupplierの引数 certNotBefore で指定した時刻から10年後の西暦の値が設定されます。

  • 照合番号Bのセキュリティコードは、ConfigurableCardSupplierの引数 securityCode の値が設定されます。

暗証番号誤りに起因する例外

暗証番号の照合を行い、不一致であった場合にはCommandExecutionExceptionが発生します。 このとき、CommandExecutionException.statusCommandResponseStatus.IncorrectPasswordとなります。

ロックされている状態で暗証番号の照会を試みた場合にもCommandExecutionExceptionが発生します。 このとき、CommandExecutionException.statusCommandResponseStatus.CommandExecutionError.ReferencedIEFClosedとなります。

読み出したデータのパース・検証

このSDKによって読み出されたデータ・内部認証の署名は、PocketSign Verify APIによってパース・検証することができます。

詳しくはVerify APIリファレンスをご参照ください。

トークンの管理

PocketSign Verify APIの利用は、必ずSP事業者が管理するサーバを経由して行ってください。 APIトークンをアプリケーションに含めて配布することは、Verify APIの不正利用につながるため、絶対に行わないでください

See also

class ConfirmationAP(session: ReaderSession) : ConfirmationAPInterface<NSData>

FeliCa カード(交通系 IC カード、Edy、WAON など)や、ISO/IEC 14443−4 Type-Aカード(クレジットカードなど)をマイナンバーカードとして扱い、 券面事項確認APを操作するクラス

本番環境のドキュメントは cardinfo パッケージの ConfirmationAP を参照してください。

データの読み出し

このAPからは以下のデータを読み出すことができます。読み出しには、それぞれに対応する暗証番号等が必要です。

  • 個人番号画像:照合番号A

  • 券面事項情報:照合番号B

  • 生年月日:生年月日読出用暗証番号

暗証番号の形式等の詳細については、暗証番号の形式を参照してください。

それぞれのデータを読み出すメソッドは、下記のとおりです。

これらのメソッドは、通信しているカードが本物のマイナンバーカードであるかどうかを確認するための内部認証用の署名と証明書を同時に取得します。

対応するハッシュ関数

内部認証に使用されるダイジェストの作成に利用できるハッシュ関数は、CRYPTREC暗号リスト(電子政府推奨暗号リスト)で推奨されるハッシュ関数のみです。 PocketSign Verify SDKでは、CRYPTREC LS-0001-2022を参照しており、このうち以下のハッシュ関数のみに対応しています。

暗証番号

カードの暗証番号は、それぞれ

  • 照合番号A: ランダムに生成されたマイナンバー12桁

  • 照合番号B: ランダムに生成された生年月日6桁+"2032"+"1234"

  • 生年月日読出用暗証番号: ランダムに生成された生年月日半角数字6桁

が設定されています。

ConfigurableCardSupplierを使用している場合、暗証番号の値は下記のとおり設定されます。

  • 照合番号Aは、ConfigurableCardSupplierの引数 myNumber の値が設定されます。

  • 照合番号Bと生年月日読出用暗証番号に使用される生年月日は、ConfigurableCardSupplierの引数 personalInfo で指定した生年月日の値が設定されます。

  • 照合番号Bの有効期限西暦部分は、ConfigurableCardSupplierの引数 certNotBefore で指定した時刻から10年後の西暦の値が設定されます。

  • 照合番号Bのセキュリティコードは、ConfigurableCardSupplierの引数 securityCode の値が設定されます。

暗証番号誤りに起因する例外

暗証番号の照合を行い、不一致であった場合にはCommandExecutionExceptionが発生します。 このとき、CommandExecutionException.statusCommandResponseStatus.IncorrectPasswordとなります。

ロックされている状態で暗証番号の照会を試みた場合にもCommandExecutionExceptionが発生します。 このとき、CommandExecutionException.statusCommandResponseStatus.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

  • 生年月日:生年月日読出用暗証番号

暗証番号の形式等の詳細については、暗証番号の形式を参照してください。

それぞれのデータを読み出すメソッドは、下記のとおりです。

これらのメソッドは、通信しているカードが本物のマイナンバーカードであるかどうかを確認するための内部認証用の署名と証明書を同時に取得します。

対応するハッシュ関数

内部認証に使用されるダイジェストの作成に利用できるハッシュ関数は、CRYPTREC暗号リスト(電子政府推奨暗号リスト)で推奨されるハッシュ関数のみです。 PocketSign Verify SDKでは、CRYPTREC LS-0001-2022を参照しており、このうち以下のハッシュ関数のみに対応しています。

暗証番号

カードの暗証番号は、それぞれ

  • 照合番号A: ランダムに生成されたマイナンバー12桁

  • 照合番号B: ランダムに生成された生年月日6桁+"2032"+"1234"

  • 生年月日読出用暗証番号: ランダムに生成された生年月日半角数字6桁

が設定されています。

ConfigurableCardSupplierを使用している場合、暗証番号の値は下記のとおり設定されます。

  • 照合番号Aは、ConfigurableCardSupplierの引数 myNumber の値が設定されます。

  • 照合番号Bと生年月日読出用暗証番号に使用される生年月日は、ConfigurableCardSupplierの引数 personalInfo で指定した生年月日の値が設定されます。

  • 照合番号Bの有効期限西暦部分は、ConfigurableCardSupplierの引数 certNotBefore で指定した時刻から10年後の西暦の値が設定されます。

  • 照合番号Bのセキュリティコードは、ConfigurableCardSupplierの引数 securityCode の値が設定されます。

暗証番号誤りに起因する例外

暗証番号の照合を行い、不一致であった場合にはCommandExecutionExceptionが発生します。 このとき、CommandExecutionException.statusCommandResponseStatus.IncorrectPasswordとなります。

ロックされている状態で暗証番号の照会を試みた場合にもCommandExecutionExceptionが発生します。 このとき、CommandExecutionException.statusCommandResponseStatus.CommandExecutionError.ReferencedIEFClosedとなります。

読み出したデータのパース・検証

このSDKによって読み出されたデータ・内部認証の署名は、PocketSign Verify APIによってパース・検証することができます。

詳しくはVerify APIリファレンスをご参照ください。

トークンの管理

PocketSign Verify APIの利用は、必ずSP事業者が管理するサーバを経由して行ってください。 APIトークンをアプリケーションに含めて配布することは、Verify APIの不正利用につながるため、絶対に行わないでください

See also

Constructors

Link copied to clipboard
constructor(session: ReaderSession)

同一のReaderSessionインスタンスは単一の通信セッション内で実行されます。複数のAPを使用しながら一回のカードタッチで完了させたい操作がある場合、同一のインスタンスを使用してこのクラスを初期化してください。

constructor(session: ReaderSession)

同一のReaderSessionインスタンスは単一の通信セッション内で実行されます。複数のAPを使用しながら一回のカードタッチで完了させたい操作がある場合、同一のインスタンスを使用してこのクラスを初期化してください。

constructor(session: ReaderSession)

同一のReaderSessionインスタンスは単一の通信セッション内で実行されます。複数のAPを使用しながら一回のカードタッチで完了させたい操作がある場合、同一のインスタンスを使用してこのクラスを初期化してください。

Functions

readDateOfBirthContentWithDateOfBirthPassword
Link copied to clipboard

生年月日読出用暗証番号を使用して生年月日情報データを取得する

open suspend override fun readDateOfBirthContentWithDateOfBirthPassword(password: String, nonce: NSData, hashAlgorithm: HashAlgorithm): VerifiableDateOfBirthContent<NSData>

生年月日読出用暗証番号を使用して生年月日情報データを取得する

readMyNumberContentWithVerificationNumberA
Link copied to clipboard

照合番号Aを使用して個人番号画像データを取得する

open suspend override fun readMyNumberContentWithVerificationNumberA(password: String, nonce: NSData, hashAlgorithm: HashAlgorithm): VerifiableMyNumberContent<NSData>

照合番号Aを使用して個人番号画像データを取得する

readPersonalInfoContentWithVerificationNumberB
Link copied to clipboard

照合番号Bを使用して券面事項情報データを取得する

open suspend override fun readPersonalInfoContentWithVerificationNumberB(password: String, nonce: NSData, hashAlgorithm: HashAlgorithm): VerifiablePersonalInfoContent<NSData>

照合番号Bを使用して券面事項情報データを取得する