InputSupportAP

class InputSupportAP(session: ReaderSession) : InputSupportAPInterface<ByteArray>

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

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

データの読み出し

このAPからは個人番号・基本4情報(氏名・住所・生年月日・性別)を読み出すことができ、 それぞれ対応する暗証番号を使用して読み出します。

  • 個人番号:照合番号A、券面事項入力補助用暗証番号

  • 基本4情報:照合番号B、券面事項入力補助用暗証番号

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

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

券面事項入力補助用暗証番号を使用するメソッドは、読み出す情報に対応した3種類が用意されています。

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

対応するハッシュ関数

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

暗証番号

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

  • 券面事項入力補助用暗証番号: "1234"

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

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

が設定されています。

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

  • 券面事項入力補助用暗証番号は、ConfigurableCardSupplierの引数 inputSupportPassword の値が設定されます。

  • 照合番号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 InputSupportAP(session: ReaderSession) : InputSupportAPInterface<NSData>

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

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

データの読み出し

このAPからは個人番号・基本4情報(氏名・住所・生年月日・性別)を読み出すことができ、 それぞれ対応する暗証番号を使用して読み出します。

  • 個人番号:照合番号A、券面事項入力補助用暗証番号

  • 基本4情報:照合番号B、券面事項入力補助用暗証番号

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

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

券面事項入力補助用暗証番号を使用するメソッドは、読み出す情報に対応した3種類が用意されています。

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

対応するハッシュ関数

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

暗証番号

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

  • 券面事項入力補助用暗証番号: "1234"

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

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

が設定されています。

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

  • 券面事項入力補助用暗証番号は、ConfigurableCardSupplierの引数 inputSupportPassword の値が設定されます。

  • 照合番号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 パッケージの InputSupportAP を参照してください。

データの読み出し

このAPからは個人番号・基本4情報(氏名・住所・生年月日・性別)を読み出すことができ、 それぞれ対応する暗証番号を使用して読み出します。

  • 個人番号:照合番号A、券面事項入力補助用暗証番号

  • 基本4情報:照合番号B、券面事項入力補助用暗証番号

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

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

券面事項入力補助用暗証番号を使用するメソッドは、読み出す情報に対応した3種類が用意されています。

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

対応するハッシュ関数

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

暗証番号

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

  • 券面事項入力補助用暗証番号: "1234"

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

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

が設定されています。

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

  • 券面事項入力補助用暗証番号は、ConfigurableCardSupplierの引数 inputSupportPassword の値が設定されます。

  • 照合番号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

readAllDataWithPassword
Link copied to clipboard
open suspend override fun readAllDataWithPassword(password: String, nonce: ByteArray, hashAlgorithm: HashAlgorithm): VerifiableInputSupportData<ByteArray>

券面事項入力補助用暗証番号を使用して個人番号・基本4情報(氏名・住所・生年月日・性別)データを取得する

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

券面事項入力補助用暗証番号を使用して個人番号・基本4情報(氏名・住所・生年月日・性別)データを取得する

fun readAllDataWithPassword(password: String, nonce: Uint8Array, hashAlgorithm: HashAlgorithm = HashAlgorithm.SHA256): Promise<VerifiableInputSupportData<Uint8Array>>
readMyNumberWithPassword
Link copied to clipboard
open suspend override fun readMyNumberWithPassword(password: String, nonce: ByteArray, hashAlgorithm: HashAlgorithm): VerifiableInputSupportData<ByteArray>

券面事項入力補助用暗証番号を使用して個人番号データを取得する

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

券面事項入力補助用暗証番号を使用して個人番号データを取得する

fun readMyNumberWithPassword(password: String, nonce: Uint8Array, hashAlgorithm: HashAlgorithm = HashAlgorithm.SHA256): Promise<VerifiableInputSupportData<Uint8Array>>
readMyNumberWithVerificationNumberA
Link copied to clipboard
open suspend override fun readMyNumberWithVerificationNumberA(password: String, nonce: ByteArray, hashAlgorithm: HashAlgorithm): VerifiableInputSupportData<ByteArray>

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

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

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

readPersonalInfoWithPassword
Link copied to clipboard
open suspend override fun readPersonalInfoWithPassword(password: String, nonce: ByteArray, hashAlgorithm: HashAlgorithm): VerifiableInputSupportData<ByteArray>

券面事項入力補助用暗証番号を使用して基本4情報(氏名・住所・生年月日・性別)データを取得する

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

券面事項入力補助用暗証番号を使用して基本4情報(氏名・住所・生年月日・性別)データを取得する

fun readPersonalInfoWithPassword(password: String, nonce: Uint8Array, hashAlgorithm: HashAlgorithm = HashAlgorithm.SHA256): Promise<VerifiableInputSupportData<Uint8Array>>
readPersonalInfoWithVerificationNumberB
Link copied to clipboard
open suspend override fun readPersonalInfoWithVerificationNumberB(password: String, nonce: ByteArray, hashAlgorithm: HashAlgorithm): VerifiableInputSupportData<ByteArray>

照合番号Bを使用して個人番号・基本4情報(氏名・住所・生年月日・性別)データを取得する

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

照合番号Bを使用して個人番号・基本4情報(氏名・住所・生年月日・性別)データを取得する