2013-05-28 7 views
0

ACS ACR122U 카드 터미널을 사용하여 스마트 카드와 상호 작용할 응용 프로그램을 작성하려고합니다. 모든 API에 따르면 API는 표준 APDU 명령과 Psuedo-APDU 조합을 사용하여 터미널과 상호 작용하지만 psuedo-APDU는 주장대로 작동하지 않는 것으로 보입니다.스마트 카드와 ACR122U의 상호 작용

API를 참조합니다 (ACS 사이트에서 제공)을 APDU를 양식의 "FF XX XX XX ..."단말기에 의해 해석됩니다 (오히려 카드에 전송보다)하지만 난 항상 응답 상태를 얻을 수 있음을 나타냅니다 "6E XX"(이는 유효하지 않은 클래스 ID를 보내는 것으로 해석됩니다). "FF 00 40 0F 04 00 00 00 00"을 사용하여 터미널의 LED를 깜박이는 명령을 보내려고했지만 "FF CA 01 00"을 사용하여 카드에서 고유 한 식별자를 얻으려고했습니다.

ISO 7816-4 문서 (스마트 카드 표준) 및 ACS에서 제공하는 API 참조 문서에서 유용한 것을 찾을 수 없습니다. 또한 ACS는 정보를 제공 할 예정이 아닙니다. 내가 잘못하고 있거나 내가 추가 정보를 찾을 수있는 곳에 대한 아이디어가있는 사람이 있습니까?

카드가 연결되면 터미널에서 ATR - Answer To Reset을 얻을 수 있습니다. Mifare 1K 카드와의 상호 작용을 위해 개발 중이며 터미널에서 LED 및 부저와 상호 작용하고 읽고 싶습니다.

+0

같은 명령을 사용하고 있기 때문에 Omnikey5321 CL과 같은 다른 터미널에서 동일한 APDU를 확인할 수 있습니까? – vikky

답변

2

API 설명서 here을 검색 할 수 있습니다. 이것은 ACS의 독점적 인 APDU이므로 ISO-7816 표준을 지칭하지 않습니다. pseudo-APDU 요구 사항은 6 장을 참조하십시오.

LED를 시뮬레이트하려면 자세한 내용은 6.2 절을, 예를 들어 부록 E를 참조하십시오. 다음과 같이 APDU를 변경해보십시오. FF 00 40 FF 04 0A 0A 03 03. LED 조절기를 설정하고 LED 지속 시간에 0이 아닌 값을 입력하십시오.

두 번째 APDU의 경우 4 절을 참조하십시오. APDU에 P3/Le가 누락되어 있습니다 (FF CA 01 00 00이어야 함). PICC와 연결된 카드 판독기가 필요합니다.