ConfigurableSecondGenerationResidenceCard

class ConfigurableSecondGenerationResidenceCard(seed: Long, cardNumber: String? = null, cardType: SecondGenerationResidenceCardType? = null, expiryDate: String? = null, dateOfBirth: String? = null, gender: SecondGenerationResidenceCardPersonalInfo.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: SecondGenerationResidenceCardCertificate? = null) : MockSecondGenerationResidenceCard

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

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

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

在留カード等番号の設定

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

カード種別の設定

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

券面記載事項の設定

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

画像の設定

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

1歳未満の設定

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

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

カード証明書

Constructors

constructor(seed: Long, cardNumber: String? = null, cardType: SecondGenerationResidenceCardType? = null, expiryDate: String? = null, dateOfBirth: String? = null, gender: SecondGenerationResidenceCardPersonalInfo.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: SecondGenerationResidenceCardCertificate? = null)

Properties

Link copied to clipboard
open override val cardType: ByteArray

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

Link copied to clipboard
open override val version: ByteArray

MF/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)

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