パッケージ jp.co.osstech.libjeid

クラス JeidReader

java.lang.Object
jp.co.osstech.libjeid.JeidReader

public class JeidReader extends Object
  • コンストラクタの詳細

    • JeidReader

      public JeidReader(android.nfc.Tag nfcTag) throws IOException
      コンストラクタ
      パラメータ:
      nfcTag - NFCタグ
      例外:
      IOException - tagがnullの場合、またはISO-DEPでないタグを渡すとIOExceptionをスローします。
    • JeidReader

      public JeidReader(android.nfc.tech.IsoDep isoDep) throws IOException
      コンストラクタ(テスト用)
      パラメータ:
      isoDep - テスト用のIsoDepオブジェクト
      例外:
      IOException - IOエラー
  • メソッドの詳細

    • setDebug

      public void setDebug(boolean debug)
    • getDebug

      public boolean getDebug()
    • debug

      public void debug(String msg)
    • sign

      public byte[] sign(byte[] data, int p1, int p2) throws IOException
      例外:
      IOException
    • mseSetAt

      public void mseSetAt(byte[] data) throws IOException
      MSE: Set AT を送信します(PACE 開始時、P1=C1 P2=A4)。
      パラメータ:
      data - Control Reference Template の値部 (80, 83, 84 ...)
      例外:
      IOException - 失敗時
    • mseSetAtForCA

      public void mseSetAtForCA(byte[] data) throws IOException
      MSE: Set AT を送信します(Chip Authentication 開始時、P1=41 P2=A4)。
      パラメータ:
      data - Control Reference Template の値部 (80, 84 ...)
      例外:
      IOException - 失敗時
    • generalAuthenticate

      public byte[] generalAuthenticate(byte[] data, boolean isLast) throws IOException
      GENERAL AUTHENTICATE コマンドを送信します(PACE 各ステップ)。
      パラメータ:
      data - DO'7C' の値部
      isLast - 最終ステップなら true (CLA=0x00)、それ以外は false (CLA=0x10, chaining)
      戻り値:
      レスポンスデータ(DO'7C' を含むレスポンス全体)
      例外:
      IOException - 失敗時
    • detectCardType

      public CardType detectCardType() throws IOException
      カード種別を判別します。
      戻り値:
      カード種別
      例外:
      IOException - IOエラー
    • selectINTextAP

      public INTextAP selectINTextAP() throws IOException
      券面入力補助APのハンドラを返します。
      戻り値:
      券面入力補助AP
      例外:
      IOException - IOエラー
    • selectINVisualAP

      public INVisualAP selectINVisualAP() throws IOException
      券面APのハンドラを返します。
      戻り値:
      券面AP
      例外:
      IOException - IOエラー
    • selectINDriverLicenseAP

      public INDriverLicenseAP selectINDriverLicenseAP() throws IOException
      マイナ運転免許証APのハンドラを返します。
      戻り値:
      マイナ運転免許証AP
      例外:
      IOException - IOエラー
    • selectJPKIAP

      public JPKIAP selectJPKIAP() throws IOException
      公的個人認証APのハンドラを返します。
      戻り値:
      公的個人認証AP
      例外:
      IOException - IOエラー
    • selectDriverLicenseAP

      public DriverLicenseAP selectDriverLicenseAP() throws IOException
      免許証APのハンドラを返します。
      戻り値:
      免許証AP
      例外:
      IOException - IOエラー
    • selectPassportAP

      public PassportAP selectPassportAP() throws IOException
      パスポートAPのハンドラを返します。
      戻り値:
      パスポートAP
      例外:
      IOException - IOエラー
    • selectResidenceCardAP

      public ResidenceCardAP selectResidenceCardAP() throws IOException
      第1世代在留カード等APのハンドラを返します。
      戻り値:
      第1世代在留カード等AP
      例外:
      IOException - IOエラー
    • selectResidenceCard2AP

      public ResidenceCard2AP selectResidenceCard2AP() throws IOException
      第2世代在留カード等APのハンドラを返します。
      戻り値:
      第2世代在留カード等AP
      例外:
      IOException - IOエラー
    • selectSpecifiedResidenceCardAP

      public SpecifiedResidenceCardAP selectSpecifiedResidenceCardAP() throws IOException
      特定在留カード等APのハンドラを返します。

      特定在留カード等は個人番号カード上の在留APとして実装され、起動直後は カレントではないため、ここで在留APを選択します (detectCardType()では個人番号カードとしてCardType.INが返ります)。

      在留APを持たない個人番号カードではFileNotFoundExceptionを投げるので、 特定在留カード等かどうかの判別にも使えます。

      戻り値:
      特定在留カード等AP
      例外:
      FileNotFoundException - 在留APを持たないカードです
      IOException - IOエラー