リリースノート(Android)

20240214

  • 運転免許証の検証証明書の更新
    • 新潟県と北海道の安委員会証明書が更新されました。

20231128

  • 運転免許証の検証証明書の更新
  • Bouncy Castle 1.77 にアップデートしました

アプリ側で指定するライブラリを以下のように変更してください。

implementation 'org.bouncycastle:bcprov-jdk15to18:1.77'
implementation 'org.bouncycastle:bcpkix-jdk15to18:1.77'

20230526

  • Bouncy Castle 1.73 にアップデートしました

アプリ側で指定するライブラリを以下のように変更してください。

implementation 'org.bouncycastle:bcprov-jdk15to18:1.73'
implementation 'org.bouncycastle:bcpkix-jdk15to18:1.73'
  • 旧APIの削除
    • 長らくdeprecatedとなっていた古いAPIを削除しました

20230525

  • マイナンバーカード券面入力補助の読み取り時、内部認証を行うようになりました。
    • INTextFiles#readFiles()実行時、既定で内部認証を行います。

20230406

  • 運転免許証の検証証明書の更新
    • 前回の更新に含まれていた、公安委員会証明書の一部に不備があったため、警察庁より該当公安委員会証明書の更新版の提供がございました。
    • 本アップデートでは該当の証明書の差替えを行っております。

20230217

  • 運転免許証の検証証明書の更新
    • 47都道府県の公安委員会の証明書が更新されました。

20221129

  • NullPointerExceptionの抑制

    • 一部の端末でandroid.nfc.Tagオブジェクトがnullの状態でカード読み取りが開始されることがあります。
    • new JeidReader(null)を呼び出すとNullPointerExceptionが発生する問題がありました。
    • 新バージョンではNullPointerExceptionの代わりにIOExceptionを返すように修正を行いました。
  • Bouncy Castle 1.72 にアップデートしました

アプリ側で指定するライブラリを以下のように変更してください。

implementation 'org.bouncycastle:bcprov-jdk15to18:1.72'
implementation 'org.bouncycastle:bcpkix-jdk15to18:1.72'

20220316

  • Google Play でのアプリ公開時に「アプリに安全ではない暗号化パターンが含まれています。」という警告が発生する問題を改善しました。

20220224

  • 特定のビルド環境で、読み取り時にNoSuchAlgorithm Exceptionが発生する問題を改善しました

20220207

  • Google Playでの警告の抑制
    • パスポート読み取りに弱い暗号を使用しているため、Google Playでのアプリ公開時に「アプリに安全ではない暗号化パターンが含まれています。」という警告が表示されることがありました。新しいバージョンではこの警告を抑制しています。
  • Bouncy Castle 1.70 にアップデート可能になりました
    • 旧バージョンでは Bouncy Castle 1.69 以降にアップデート出来ない問題がありましたがこれを修正しました。

アプリ側で以下のように変更してください。

implementation 'org.bouncycastle:bcprov-jdk15to18:1.70'
implementation 'org.bouncycastle:bcpkix-jdk15to18:1.70'
  • サンプルコードのメンテナンス
    • 新しいAndroid APIではAsyncTaskが廃止予定となっています。これに伴いサンプルアプリで多用していたAsyncTaskを書き換えました。

20211026

  • 運転免許証から取得した住所地等に含まれる文字について、iOS版と同じUnicode文字に変換されるよう修正しました。
  • 古いAndroid Gradle Pluginを使用してビルドした場合、カード読み取りに失敗する問題を修正しました。
    • 古いAndroid Gradle Plugin(4.2.0未満)に付属するR8を使用して難読化処理を行うと、カード読み取り時にNullPointerExceptionが発生する問題がありました。

20211007

  • 運転免許証の住所地等に含まれるマイナス記号の修正
    • APIから取得した住所地等のマイナス記号(−)がiOS(U+2212),Android(U+FF0D)と異なるコードポイントとなっていました。これをiOSに合わせAndroidもU+2212に変換するように修正しました。
  • シリアライズAPIの追加
    • 券面入力補助のみ試験的に利用できます。

20210901

  • 在留カードの証明書を更新
    • 在留カードの真正性検証を行うための証明書を更新しました。
  • 在留カードの一部情報を適切に読み取れない問題を修正
    • 「住居地(裏面追記)」、「資格外活動包括許可」、「資格外活動個別許可」の読み取り結果がnullとなってしまう問題を修正しました。

20210506

  • Bouncy Castle 1.68にアップデートしました

アプリ側で指定するライブラリを以下のように変更してください。

implementation 'org.bouncycastle:bcprov-jdk15to18:1.68'
implementation 'org.bouncycastle:bcpkix-jdk15to18:1.68'

注: 従来どおりbcprov-jdk15onbcpkix-jdk15onを使用するとJetifierの処理に失敗することがあります。 bcprov-jdk15to18bcpkix-jdk15to18を指定してください。

  • 【運転免許証】熊本県公安委員会証明書の更新
  • 【運転免許証】旧真正性検証APIが非推奨になりました

運転免許証の旧真正性検証APIDriverLicenseSignature#(initVerify|update|verify)が非推奨になりました。

真正性検証の詳細は真正性検証ガイドを参照してください。

20210204

  • 【パスポート】ActiveAuthenticatio非対応パスポートに関する修正
    • 2013年以前発行のパスポートはActiveAuthenticationに対応していません。
    • このActiveAuthentication非対応のパスポートを判別できるようにしました。
    • 詳細はPassportAP#activeAuthentication()を参照してください。
  • 【運転免許証】暗証番号(PIN)設定を取得する機能を追加しました。
  • 【運転免許証】クラス名の変更に伴い、旧クラス名が非推奨となりました。
    • (旧)DriverLicenseString -> (新)DLString
    • (旧)DriverLicenseDate -> (新)DLDate

20201105

  • 【在留カード】真正性検証機能
    • 在留カードの真正性検証API RCFiles.validate() で法務省発行のCA証明書による検証を行うようになりました。

20200827

  • 【在留カード】読み取りエラーの修正
    • 一部端末(Galaxy S8など)で在留カードを読み取れない問題を修正しました。
  • Bouncy Castle 1.65にアップデートしました。

アプリ側で指定するライブラリも以下のように変更してください。

implementation 'org.bouncycastle:bcprov-jdk15on:1.65'
implementation 'org.bouncycastle:bcpkix-jdk15on:1.65'

Bouncy Castleにアップデートに伴い、ProGuardによる難読化処理に失敗することがあります。 この問題が起こる場合、Android Gradle Plugin 3.4.0以降にアップデートし、R8の利用を推奨します。

20200605

  • 【在留カード】署名値の検証機能
    • 在留カードの真正性検証を行う RCFiles.validate() を追加しました。
    • ただし、現状ではカード内の証明書による検証のみを行ない、証明書に対する検証を行ないません。
    • 検証結果はINVALID_SIGNATURE(署名値検証に失敗)またはINVALID_CERTIFICATE(署名値検証に成功)を返します。

20200529

  • 【マイナンバーカード】券面入力補助AP、及び券面確認APの真正性検証機能
  • 【在留カード】在留カードAP操作クラスにメソッドを追加
    • startBAC(RCKey)およびverifySM(RCKey)の代わりにstartAC(RCKey)をご利用ください

20200303

  • 【パスポート】新パスポートのPassive Authentication,Active Authenticationに対応
  • 【パスポート】CSCA証明書の更新

20200228

  • 【在留カード】一部Android端末において初回読み取りに失敗する問題の緩和
  • 【運転免許証】外字を含む文字列取得APIの改善

外字を含む文字列を適切に取得するためのAPIを用意しました。 新しいAPIでは全ての外字を含む文字列をJSON,HTMLなどの形式にフォーマット出来ます。

これに伴いこれまで提供していた以下のAPIは廃止となります。

  • DriverLicenseEntries#getNameJson()
  • DriverLicenseEntries#getNameHtml()
  • DriverLicenseEntries#getAddrJson()
  • DriverLicenseEntries#getAddrHtml()
  • DriverLicenseRegisteredDomicile#getRegisteredDomicileJson()
  • DriverLicenseRegisteredDomicile#getRegisteredDomicileHtml()

詳細は運転免許証の文字についてを参照してください。

20200131

  • 新しい真正性検証APIの提供
    • 詳細は真正性検証ガイドを参照してください
    • 旧真正性検証APIの互換性は維持しておりますのでそのまま利用できます
  • 運転免許証: 国家公安委員会証明書の更新
  • 依存ライブラリBouncy Castleのアップデート

Bouncy Castle 1.64にアップデートしました。 アプリ側で指定するライブラリも以下のように変更してください。

implementation 'org.bouncycastle:bcprov-jdk15on:1.64'
implementation 'org.bouncycastle:bcpkix-jdk15on:1.64'

Bouncy Castleにアップデートに伴い、Gradle4と古いAndroid Gradle Pluginの組み合わせでProGuardによる難読化処理でduplicate class definitionsというエラーが発生する場合があります。 この問題はGradle5系と新しいAndroid Gradle Pluginにアップデートすると解決しますが、Gradleのアップデートを行わない場合ProGuardの設定変更でも問題を回避できます。

app/proguard-rules.pro に以下の設定を追加

-dontwarn module-info

20191125

  • マイナンバーカード: 券面APの画像を取得できるようになりました
  • クラス名変更

LibJeIDは各種本人確認書類の読み取り方法について統一性のあるAPIを目指しております。

iOS用ライブラリとの一貫性を保つためにAndroidライブラリのクラス名を変更致しました。 互換性を維持しておりますので旧クラス名のままでも問題なく利用できますが、ご都合の良いタイミングで移行をお願いいたします。

  • マイナンバーカード 券面入力補助AP操作クラス
    • (旧)CardInputHelperAP -> (新)INTextAP
  • マイナンバーカード 券面AP操作クラス
    • (旧)CardEntriesAP -> (新)INVisualAP
  • マイナンバーカード 券面入力補助APの4情報に対応するクラス
    • (旧)INCardInputHelperEntries -> (新)INTextAttributes
  • マイナンバーカード 券面APの表面に対応するクラス
    • (旧)INCardFrontEntries -> (新)INVisualEntries

20191017

  • パスポートの読み取り精度が向上しました
  • 運転免許証: 本籍の外字を表示できるようになりました

20190719

  • 在留カードを読み取り可能になりました

API仕様は将来のリリースで変更になる可能性があります。 なお真正性検証にはまだ対応しておりません。

  • 運転免許証の記載事項変更等をすべて取得可能になりました

詳細はDriverLicenseChangedEntriesを参照してください。

  • パスポート関連のパッケージ名に変更がありました

パスポート読み取りを行う際以下をimportしてください。

import jp.co.osstech.libjeid.ep.*;
  • Bouncy Castleのアップデート

Bouncy Castle 1.61にアップデートしました。 アプリ側で指定するライブラリも以下のように変更してください。

implementation 'org.bouncycastle:bcprov-jdk15on:1.61'
implementation 'org.bouncycastle:bcpkix-jdk15on:1.61'

20190415

  • 依存ライブラリをBouncy Castleに変更

暗号処理ライブラリをSpongy Castle 1.58からBouncy Castle 1.60に変更しました。 アプリ側で指定する依存ライブラリも変更となります。 app/build.gradleを参考にご対応ください。

  • 新元号(令和)に対応

運転免許証の有効期限は元号コードで記録されています。 元号付きの日付から西暦の日付(java.util.Date)に変換を行うためのDriverLicenseDateクラスを新元号に対応しました。

  • パスポート: 記載事項の真正性検証機能を追加

パスポートのPassive Authentication、Active Authenticationに対応しました。

20190327

  • パスポートの読み取り対応

パスポートへの基本的なアクセス(Basic Access Control)が出来るようになりました。

20190308

  • 運転免許証: 46県都道府県公安委員会証明書の更新

20190225

  • 運転免許証: 埼玉県公安委員会証明書の更新