2017-03-27 5 views
0

私は、次のように我々はジェムアルトSafeNetのリーダーK1100に送ること(PIN)APDUコマンド、確認してください持っている:私は常に応答67 00(間違った長さ)を取得このAPDU検証コマンドの問題点は何ですか?

00 20 00 81 08 26 12 34 56 ff ff ff ff

を。私が知る限り、これはLCまたはLEのどちらかが間違っていることを意味します。

+0

あなたはどのカードを使用していますか? http://stackoverflow.com/questions/25156248/problems-coding-an-apdu-command-to-verify-pin – arminb

+0

証明書付きa.sign RKチップ(https://www.a-trust.at/) webshop/Detail.aspx?ProdId = 2021) –

答えて

0

APDUが仮定正確になりますが

  • 現在のDF
  • 内IDが1のPINが存在するカードはPIN値をピンのBCDフォーマットを使用し、8バイトまたはそれらをパッド

81の代わりに01を試して、MFでPINが検索されるようにするか、カードが暗黙的にPIN IDを認識していると仮定して00にすることができます。両方の試行が失敗した場合は、カードの初期化/パーソナライズに関する詳細情報を収集する必要があります。

Verifyコマンドは結果がないので、LEを間違えることはできません。ただし、Javaクラスを使用してAPDUを構築する場合、LCは自動的に追加されるため、指定しないでください。

私の唯一のアイデアは、それに応じてLCを調整するFFバイトを省略することです。

+0

カードはまったく同じコマンドで別のリーダーで動作します。私はいつも読者がこれらのコマンドをスマートカードに転送するだけだと思っていました。何か案は? –

+0

@ChristophWimberger:原則として、ダンカード(例えばメモリカード)や非常にスマートなリーダー(例えば、リーダーのPINパッドに入力されたものでPINデータを置き換える)の場合は、リーダーによる変更が必要*です。いくつかのCLA/INSの組み合わせについては、読者はそれを自分自身とみなしてカードにまったく渡すことはできません。 – guidot

関連する問題