일부 데이터를 오프셋 ISO7816.OFFSET_CDATA
의 APDU 버퍼에 저장하고 이러한 바이트를 응답으로 보내는 Java Card 애플릿을 작성했습니다.스마트 카드에서 응답 상태 단어 0x61xx의 의미는 무엇입니까?
Util.arrayCopy(Input_Data, (short)0, buffer, (short) ISO7816.OFFSET_CDATA, (short)Datalength);
apdu.setOutgoing();
apdu.setOutgoingLength((short)(DataLength));
apdu.sendBytesLong(buffer, ISO7816.OFFSET_CDATA, (short)(DataLength));
나는 이것을 아무런 문제없이 시뮬레이터에서 테스트했다. 그러나 이것을 실제 스마트 카드 (Gemalto가 제조 한 Java Card v2.2.1)에서 테스트 할 때 응답으로 상태 단어 0x6180
이 표시됩니다.
내 명령 APDU가 00 40 00 00 80 Data
이고 데이터 길이가 128 바이트이므로 버퍼에 4 + 128 바이트가 있고 (260- (4 + 128)) 바이트가 null입니다.
실례합니다. 언두를 드러내지 마십시오. 00 C0 00 00 xx. 나는 apdu를 보낸다. 00 40 00 00 80 INS = 40으로 내 기능을 선택하는 데이터. 내 기능을 선택하는 방법 apdu에서 C0을 사용한다면? –
@FatemeJafari '00 00 00 00 80 Data'를 사용하면'61XX '를 받게되고'00 C0 00 00 XX'을 사용하게됩니다. 이는 카드에서 데이터를 수신하기위한 특수 명령 일뿐입니다. '40' 명령에 대한 응답을 줄 것입니다. 다른 애플릿을 선택할 필요가 없습니다. – vojta
고마워요. 이 상태에서 나는 한 응답으로 나의 응답을 얻을 것인가? 내가 256을 넘는 응답을한다면 나는 무엇을해야 하는가? –