2017-12-05 11 views
0

나는 스마트 카드로부터 데이터를 읽기 위해 잘 작동 자바 코드가 있습니다자바에서 스마트 카드 APDU 명령을 C#으로 변환하는 방법?

byte[] dataSetEF12 = {0, -80, -110, 0, 0}; 
apdu = new CommandAPDU(dataSetEF12); 
ResponseAPDU response = cardChannel.transmit(apdu); 
byte[] data = response.getData(); 

을하지만 난이 쓰기 C#을 &에서이 필요합니다

apdu = new APDUCommand(0x00, 0xB0, 0x92, 0x00, null, 0x00); 
APDUResponse response = cardReader.Transmit(command); 
byte[] data = response.Data; 

그러나 C의 # response.Data은 같음 null

누구든지 내 실수는 무엇입니까? 누구인지 알고 있거나 해결책은 무엇입니까?

문제가 어쩌면 몇 가지 이유가 카드에서 반환되는 어떤 상태 코드를 기반으로

답변

0

:

  1. SW = 61XX를; 카드에 GET_RESPONSE 명령을 보내야합니다.
  2. SW = 9000; C# 래퍼를 확인해야합니다. (어쩌면 당신은 명령 apdu에서 르를 설정해야합니다)
  3. SW = 6F00; 귀하의 명령이나 카드에 어떤 문제가 있습니다.
  4. SW = 다른 것; 웹에서 검색해야합니다.

같아요

+0

행운을 빌어 요, 마지막 00는 이미 LE입니다; 하지만 저는 Java가 스스로 LC를 계산한다는 것을 알고 있습니다. 다른 언어에서 수동으로 수행해야 할 수도 있습니다. – guidot