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

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

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

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

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

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

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

ただし、後述の「特定在留カード AP の有無確認とカード種別の読み出し」には在留カード等番号は不要です。

シーケンス

実装例

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

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

// 特定在留カード AP を操作するクラスを初期化します。
let ap = SpecifiedResidenceCardAP(session: session)

// 特定在留カードに対して券面記載事項、氏名イメージ・顔画像、署名・証明書の読み出しを行います。
let result = try await ap.readSpecifiedResidenceCardContent(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 リファレンスをご覧ください。

特定在留カード AP の有無確認とカード種別の読み出し

SpecifiedResidenceCardAP は、在留カード等番号の入力を求める前に利用できる、次のメソッドを提供します。

  • hasSpecifiedResidenceCardAP(): タッチしたカードに特定在留カード AP が存在するかどうかを確認します。特定在留カードと特定特別永住者証明書以外のカードをタッチした場合は false が返ります。
  • readSpecifiedResidenceCardType(): カード種別(特定在留カードか特定特別永住者証明書か)を読み出します。

これらのメソッドはセキュアメッセージングを使用しないため、拡張 APDU に対応していない端末でも実行できます。 資格外活動許可欄・在留期間等更新申請欄は特定在留カードにのみ存在するため、読み出しの前にカード種別を確認したい場合に利用できます。

個別に読み出せるデータ

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

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

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

実行結果

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


次のステップ

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

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