メインコンテンツまでスキップ

券面記載事項・顔写真の読み出し

このページでは、Verify SDK を使用して第二世代在留カードから券面記載事項、氏名イメージ・顔画像、署名・証明書を読み出します。

第二世代在留カードのデータの読み出しには SecondGenerationResidenceCard クラスを使用します。 このクラスは、券面記載事項や顔画像などをまとめて読み出す readSecondGenerationResidenceCardContent のほか、目的のデータだけを個別に読み出すメソッドを提供します。

あらかじめSDK のセットアップを完了しておいてください。

在留カード等番号が必要です

第二世代在留カードのデータを読み出すには、券面に記載された在留カード等番号の入力が必要です。 在留カード等番号の仕様については在留カードの暗証番号をご覧ください。

ただし、後述の「カード種別の読み出し」には在留カード等番号は不要です。

シーケンス

実装例

以下は、在留カード等番号を用いて券面記載事項・氏名イメージ・顔画像・署名・証明書を読み出す例です。

func run(cardNumber: String) async throws -> String {
// 第二世代在留カードへの接続準備を行います。
let session = ReaderSession(dispatchQueue: DispatchQueue.main)

// 第二世代在留カードを操作するクラスを初期化します。
let card = SecondGenerationResidenceCard(session: session)

// 第二世代在留カードに対して券面記載事項、氏名イメージ・顔画像、署名・証明書の読み出しを行います。
let result = try await card.readSecondGenerationResidenceCardContent(cardNumber: cardNumber)

session.close()
return "cardInfo: \(result.cardInfo.base64EncodedString())\n\n" +
"nameImageAndFaceImage: \(result.nameImageAndFaceImage.base64EncodedString())\n\n" +
"signatureAndCertificate: \(result.signatureAndCertificate.base64EncodedString())\n"
}
ヒント

モック環境では、FeliCa カード(交通系 IC カード、Edy、WAON など)や、ISO/IEC 14443-4 Type-A カード(クレジットカードなど)をタッチすると、第二世代在留カードの挙動がシミュレートされます。 詳しくはAndroid SDK リファレンスiOS SDK リファレンスをご覧ください。

カード種別の読み出し

SecondGenerationResidenceCard は、在留カード等番号の入力を求める前に利用できる readSecondGenerationResidenceCardType() を提供します。 このメソッドは、カード種別(第二世代在留カードか第二世代特別永住者証明書か)を読み出します。

資格外活動許可欄・在留期間等更新申請欄は第二世代在留カードにのみ存在するため、読み出しの前にカード種別を確認したい場合に利用できます。

個別に読み出せるデータ

readSecondGenerationResidenceCardContent 以外にも、以下のメソッドで目的のデータを個別に読み出せます。 いずれのメソッドも在留カード等番号を引数に取り、読み出したバイト列を返します。

メソッド読み出すデータ対応するカード種別
readResidenceCardNumberContent在留カード等番号第二世代在留カード・第二世代特別永住者証明書
readAddressImageContent住居地イメージ第二世代在留カード・第二世代特別永住者証明書
readMiscellaneousContentその他の記載事項第二世代在留カード・第二世代特別永住者証明書
readActivityPermissionContent資格外活動許可欄第二世代在留カードのみ
readApplicationStatusForExtensionOfPeriodOfStayContent在留期間等更新申請欄第二世代在留カードのみ

第二世代特別永住者証明書に対して第二世代在留カードのみのメソッドを呼び出すと、UnsupportedCardTypeException(iOS では UnsupportedCardTypeError)が発生します。

実行結果

第二世代在留カードからのデータ読み出しに成功すると、以下のように Base64 エンコードされた券面記載事項、氏名イメージ・顔画像、署名・証明書が得られます。 第二世代在留カードのデータのパース・検証時には、これらのデータを Verify CardInfo API に送信します。


次のステップ

第二世代在留カードから取得したデータのパース・検証を行い、券面記載事項や顔画像を取得しましょう。

その他、SDK の詳しい使い方やエラーの詳細等については、Android SDK リファレンスiOS SDK リファレンスをご覧ください。