2016-11-04 15 views
0

スマートカードリーダーを使用してスマートカードからデータを取得しようとしています。私は可能なすべてのデータを取得するためにソフトウェア(PascProbe.exe)を使用しました。この私が得たもの:スマートカードのデータを読み取る方法

カードリーダー:OMNIKEY CardMan 5x21-CL 0
ATR = 3B8F8001804F0CA0000003060A0018000000007A(16進数)
カードタイプ:PicoPass 2KS
カードシリアル番号(CSN、UID):504B4901FBFF12E0(16進数)。
PACSビット(生ウィーガンド)データ:000000202FA473F8
HID H10304カードのフォーマット適用:
ファシリティコード:= 762
カード番号:= 145916

を私はCSN(UID)とATRを取得する方法を理解しますカードからAPDUを使用し、 PACSビット(ここではH10304カードフォーマット)からファシリティコードとカード番号を取得する方法を理解していますが、スマートカードから「PACSビット」を取得するために必要な情報はわかりません。助けてください。 (.NETを使用しています)
Thxを事前に入力してください

答えて

0

Omnikey 5x21コマンドとAPDUコマンドを使用して、このような処理を行います(.NETとC++の両方で違いはありません)。

  1. セキュリティで保護されたセッションを開始します(READ、NOT WRITE)。
  2. 選択は0x00
  3. KD 0x21で
  4. 読む0x06で、0x07の、0x08に、0x09ので認証。 (安全なセッションの内部でこれを行うと、カードに書き込まれた実際のデータは です。そうでなければそのFF FF FF FF FF .....)
  5. 今、あなたのWiegandは0x07になりましたか?はいの場合は、完了します。 Esle Read 0x07 もう一度、0x00ではなく3番目のバイト0x80を設定します( カードに依存)
  6. セッションを終了します。

セキュリティで保護されたセッションでAPDUコマンドを使用する方法は全く異なります。読み取りキーが必要です。また、通信にはDES暗号化もあります。

5x21-CLについてのdev-guideを読むことができます。しかし、私はあなたがこれを読んでいる時にそれをしたと確信しています。