質問

私は符号化しています私はほとんど常に私のOmnikey Rfid Cardman 5321スマートカードで使用してください。問題は、私たちのコーディングとうまくいっているように見えないように見えない「HID Iclass GL」とマークされている新しいカードを受け取りました。

ソース全体を通過せずに、次の行を呼び出しているときに問題が発生します。これは基本的にデータの長さを伝えます。 lresult= scardtransmit(hcard、0、bytcommand、llen、0、byreadbuffer、ireturnlength)

私たちは2の長さのみを返しています。このデータは "x69 x86"としてマークされています。たとえ私がそれをすべて読むために255のChrのすべてを読むように言うとしても、残りはヌルとしてマークされています。

今すぐ私たちの読者がこれらのカードを読むことができることを私たちの読者は次のように表示されています。 ステータス:スマートカードが挿入されました FW:5.10 ポート:USB. lib:1.0 スマートカードNME:ICLASS 32KS 8X2 + 16 アート:有効 プロトコル:ISO 15693(その2) Picctopcd:26,48 kbps PCDTOPICC:26,48 kbps 回数:13.56 MHz

前に説明したように、「x69 x86」以外にデータが返されていない以外は、すべてが返されず、これは確かに正しくありません。

誰かがHID ICLASSカードから読む経験がある場合、私はどのようにフィードバックを大きく感謝します。ソフトウェアをライセンスする必要がある場合でも、それは大丈夫です。

事前にありがとう!

役に立ちましたか?

解決

理由原因2バイトの配列を取得する原因は、コマンドがエラーで実行されるため、チップはSW1とSW2 Flag

のみを返します。

あなたの場合の意味は意味です

x69 --> Command not allowed (further qualification in SW2, see table 17) 
x86 --> Command not allowed (no current EF)
.

だからチップ上のアプリケーションファイルが正しく選択されていることを証明するかもしれません さらに詳しい情報 @

他のヒント

物理アクセスデータにアクセスしようとしている場合は、最初にリーダーとホスト間の暗号プロトコルを徹底的に確認し、またあなたがTEH最新のファームウェア(Omnikey 5321のための5.20)で読者を使用していることを確認します。

私はまた、ホストとリーダーアプリケーションの間の安全な通信チャネルを併用するカードシステムをチェックするためのコードを紹介します。

さらに参照: http://www.hidglobal.com/documents/ok_contactless_developer_guide_an_en.pdf

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top