Domanda

Ho la codifica che usi quasi sempre con le mie smart card di cardman 5321 Omnikey RFID. Il problema è che abbiamo ricevuto nuove carte oggi che sono contrassegnate da "HID ICLASS GL" che non sembrano funzionare bene con la nostra codifica.

Senza passare attraverso l'intera fonte, il nostro problema è sorta quando chiamiamo la seguente riga, che fondamentalmente ci dice la lunghezza dei dati: lresult= ScardTransmit (HCard, 0, Bytcommand, Llen, 0, ByReadBuffer, IreturnLength)

Stiamo restituendo solo una lunghezza di 2, che i dati sono contrassegnati come "X69 x86". Anche se lo dico di leggere tutti i 255 CHR il resto è semplicemente contrassegnato come NULL.

Ora so che il nostro lettore può leggere queste carte poiché lo strumento Diagnostico OmniKey ci mostra il seguente: Stato: Smart card inserita FW: 5.10. Porto: USB. Lib: 1.0. Smart card NME: ICLASS 32KS 8x2 + 16 Arte: valida. Protocollo: ISO 15693 (parte 2) PICCTOPCD: 26,48 Kbps PCDTOPICC: 26,48 Kbps Frequenza: 13,56 MHz

Come ho spiegato prima, tutto funziona bene nella mia codifica, tranne che nessun dato viene restituito per la mia carta oltre a "x69 x86", che non è sicuramente corretto.

Se qualcuno ha qualche esperienza leggendo da una scheda ICLASS HID, apprezzerei molto un feedback su come. Anche se dobbiamo licenziare il software, va bene.

Grazie in anticipo!

È stato utile?

Soluzione

Il motivo per cui si ottiene un array di 2 byte è perché il comando viene eseguito su un errore in modo che il chip ritorna solo il flag SW1 e SW2

Nel tuo caso è significato è

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

In modo da poter dimostrare che il tuo file di applicazione sul chip è selezionato correttamente ulteriori informazioni @ http://www.cardwerk.com/smartcards/smartcard_standard_iso7816-4_5_Basic_Organizations.aspx#Table17

Altri suggerimenti

Nel caso in cui si tenta di accedere ai dati di accesso fisico, controllerei accuratamente il protocollo Crypto tra lettore e host prima e anche meke sicuro che si sta utilizzando un lettore con il firmware più recente (5.20 per l'OmniKey 5321). Introdurrebbe anche il codice per controllare il sistema di schede con il tuo canale di comunicazione sicuro tra l'applicazione host e lettore.

Ulteriori riferimenti: http://www.hidglobal.com/documents/ok_Contactless_developer_guide_an_en.pdf

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top