ConfigurableSpecifiedResidenceCard

class ConfigurableSpecifiedResidenceCard(seed: Long, cardNumber: String? = null, cardType: SpecifiedResidenceCardType? = null, expiryDate: String? = null, dateOfBirth: String? = null, gender: SpecifiedResidenceCardPersonalInfo.Gender? = null, nationalityCode: String? = null, statusOfResidence: String? = null, periodOfStay: String? = null, permissionType: String? = null, permissionDate: String? = null, workRestriction: String? = null, periodOfStayExpiryDate: String? = null, nameImage: ByteArray? = null, faceImage: ByteArray? = null, addressImage: ByteArray? = null, activityPermissionType: String? = null, activityPermissionDate: String? = null, hasActivityPermission: Boolean? = null, isApplying: Boolean? = null, hasMiscellaneousFlag: Boolean? = null, miscellaneousReserved: String? = null, isUnderOneYearOld: Boolean? = null, certificate: SpecifiedResidenceCardCertificate? = null, hasSpecifiedResidenceCardAP: Boolean? = null) : MockSpecifiedResidenceCard

格納されるデータを設定可能な特定在留カード等(特定在留カード・特定特別永住者証明書)を表す MockSpecifiedResidenceCard を実装したクラス

このクラスのインスタンスを MockCardSupplier.getCard の返却値とするような MockCardSupplier を作成し、 ReaderSession.registerMockCardSupplier を使用してセッションに設定することで、モック環境で生成するカード情報を 設定できます。

このクラスは テスト・開発専用 です。ここで生成されるデータは本物の特定在留カード等ではなく、証明書のサブジェクトには 本物と誤認されないようにモック用識別子(P8N-MOCK)が使用されます。

在留カード等番号の設定

引数の cardNumber によって在留カード等番号を設定できます。設定しない場合は "AA12345678BB" が使用されます。

カード種別の設定

引数の cardType によってカード種別を設定できます。設定しない場合は特定在留カード(種別07)が使用されます。 種別08(特定特別永住者証明書)では券面記載事項が短くなり(46バイト)、資格外活動許可欄・在留期間等更新申請欄は 存在しないカードになります。

券面記載事項の設定

券面記載事項の各項目(満了日・生年月日・性別・国籍地域コード・在留資格・在留期間・許可の種類・許可年月日・ 就労制限の有無・在留期間満了日)を個別に設定できます。文字列はすべて UTF-8 として扱われ、各項目の最大長まで 0x00 でパディングされます。 生年月日・性別を設定しない場合は seed から決定的に生成されるランダムな値が使用されます(同じ seed であれば 同じ値となり、券面事項入力補助APモックと同一 seed のとき同じ生年月日・性別になります)。

画像の設定

氏名イメージ・顔画像・住居地イメージをバイト列で設定できます。設定しない場合は埋め込みの固定画像が 使用されます。画像の TLV には実データ長が記録され、EF の残り領域は 0x00 でパディングされます。

1歳未満の設定

引数の isUnderOneYearOld を true にすると、顔画像・チェックコード・カード証明書が Length=0 になります (EF の容量は維持されます)。

特定在留カード等APの有無

引数の hasSpecifiedResidenceCardAP によって、このカードに特定在留カード等APが存在するかを設定できます。 false を指定した場合、AP選択時にアクセス対象ファイルが存在しないことを表す例外が発生します。

Nullable型の引数を省略した場合やnullを指定した場合はランダムまたは既定の値が使用されます。 ランダムな値は、同じ seed であれば同じ値となります。

Parameters

seed

乱数のシード

cardNumber

在留カード等番号

cardType

カード種別

expiryDate

券面: 有効期間満了日(C5)

dateOfBirth

券面: 生年月日(C6)

gender

券面: 性別(C7)

nationalityCode

券面: 国籍・地域コード(C8)

statusOfResidence

券面: 在留資格(C9)

periodOfStay

券面: 在留期間(CE)

permissionType

券面: 許可の種類(CA)

permissionDate

券面: 許可年月日(CB)

workRestriction

券面: 就労制限の有無(CC)

periodOfStayExpiryDate

券面: 在留期間満了日(CD)

nameImage

氏名イメージ

faceImage

顔画像

addressImage

住居地イメージ

activityPermissionType

資格外活動許可欄: 許可種別(D5)

activityPermissionDate

資格外活動許可欄: 許可年月日(D6)

hasActivityPermission

資格外活動許可欄: 許可有無(D7)

isApplying

在留期間等更新申請欄(D8)

hasMiscellaneousFlag

その他: フラグ(D9)

miscellaneousReserved

その他: 予備領域(DE。UTF-8 として扱われ、200バイトまで 0x00 でパディングされる)

isUnderOneYearOld

1歳未満かどうか

certificate

カード証明書

hasSpecifiedResidenceCardAP

特定在留カード等APが存在するか

Constructors

Link copied to clipboard
constructor(seed: Long, cardNumber: String? = null, cardType: SpecifiedResidenceCardType? = null, expiryDate: String? = null, dateOfBirth: String? = null, gender: SpecifiedResidenceCardPersonalInfo.Gender? = null, nationalityCode: String? = null, statusOfResidence: String? = null, periodOfStay: String? = null, permissionType: String? = null, permissionDate: String? = null, workRestriction: String? = null, periodOfStayExpiryDate: String? = null, nameImage: ByteArray? = null, faceImage: ByteArray? = null, addressImage: ByteArray? = null, activityPermissionType: String? = null, activityPermissionDate: String? = null, hasActivityPermission: Boolean? = null, isApplying: Boolean? = null, hasMiscellaneousFlag: Boolean? = null, miscellaneousReserved: String? = null, isUnderOneYearOld: Boolean? = null, certificate: SpecifiedResidenceCardCertificate? = null, hasSpecifiedResidenceCardAP: Boolean? = null)

Properties

Link copied to clipboard
open override val cardType: ByteArray

在留AP/EF02(カード種別)を読み出すときに参照される値(生4バイト)

Link copied to clipboard

このカードに特定在留カード等APが搭載されているか(旧世代カード等をシミュレートするために使用)

Link copied to clipboard
open override val version: ByteArray

在留AP/EF01(バージョン)を読み出すときに参照される値(生6バイト)

Functions

Link copied to clipboard

SELECT コマンドでDF1を選択したときに実行される関数

Link copied to clipboard

SELECT コマンドでDF2を選択したときに実行される関数

Link copied to clipboard

SELECT コマンドでDF3を選択したときに実行される関数

Link copied to clipboard
open override fun verifyCardNumber(cardNumber: String)

入力が在留カード等番号と一致するかを検査する関数