PINPAD リーダーで PIN コードを確認しようとする試みはすべて失敗に終わります。これが私の状況です。
設定
- ベルギーの EID カード;
- Bluetoothで接続されたVasco DIGIPASS 875。
- Vasco の SDK を使用した Android アプリケーション。
状況
APDU コマンドを使用して、ファイルの選択と読み取り、安全な環境の設定 (MSE : SET) を行いました。さまざまなドキュメントからさまざまなソリューションを何度も調査してマージした後、リーダーに PIN コードを要求させることができます。しかし、疑似 APDU コマンドを使用すると、69|C# の応答が返されます。同じプロセス (ファイルの読み取り、安全な環境の設定、PIN の検証) は、PINPAD のない USB リーダーでも正常に機能するため、APDU コマンドは問題ないと思いますが、先行する疑似 APDU コマンドは問題ありません。
使用したドキュメント
BEID ドキュメント、PC/SC Spec part 10 (2.5.2) および補足 (2.2.1)、および6.1.11.3 から 6.1.11.6 までの章のUSB スマート カード デバイス。
私は何を理解しましたか?
最初の部分はFF C2 01 06
、リーダーでの直接の PIN 検証用であり、その後に後続のデータのサイズが続きます。次に、PC/SC パート 10 の構造に従ってください。
- タイムアウト 1 & 2 (
00
デフォルト); - 形式 ( 1 バイトのオフセット PIN、左揃え、BCD の
89
場合と同様に、私に適しているはずです);10001001
- PIN ブロック形式 (
48
4 ビット長が含まれており、PIN ブロックに 8 バイトが含まれているためです); - PIN の長さの形式 (
04
: PIN ブロックの 4 ビット オフセット); - 最小/最大 PIN の長さ:
040C
(しかし、そのようには機能しませんでしたが、0404
確実に機能します); - 検証条件は
02
[OK] ボタンです。 - メッセージ数 :
01
コマンド内のメッセージを使用します。 - 言語は
0409
英語用です。 - 表示するメッセージは
00
、PIN を入力するためのものです。 000000
このフィールドは使用されていないためです。- PINでフォーマットされた後に送信される最終的なAPDUコマンドの長さ(
0000000D
私の推測です)。 - そして、APDU コマンド:
0020000108FFFFFFFFFFFFFFFF
結果
確信が持てないいくつかの値 (パディング文字が既に存在するかどうかについては 2、3、4、11、および 12) を何度か変更しましたが、成功せず、結果コードが異なる場合があります。
ここで何が間違っていますか?
事前にthx!