2009-11-10 4 views
4

저는 APDU 교환을 통해 SIM 응용 프로그램과 상호 작용하려고했습니다. APDU를 교환하기 위해 Connector.open() API를 통해 APonnectonnection을 작성해야했지만이 API는 "JSR 177이이 플랫폼에서 지원되지 않습니다"라는 IO 예외를 발생시킵니다. 테스트하기 때문에 이런 일이 발생하는지 알 수 없습니다. 시뮬레이터 또는 블랙 베리 장치에서 지원되지 않는지 여부를 확인하십시오.JSR 177 Blackberry 지원

나는 블랙 베리에서 SIM 앱과 성공적으로 상호 작용 한 사람이 누구인지 알고 싶습니다. 그렇다면 어떻게해야할까요? JSR 177을 구현할 수 있도록 Blackberry SDK에 확장 기능을 추가 할 수 있습니까? 이러한 확장을 포함하도록 SDK를 확장하려면 어떻게합니까? 여러분의 의견을 정말 고맙게 생각합니다. 미리 감사드립니다.

답변

1

JSR 177은 주로 보안 요소 및 UICC와 통신하는 데 주로 사용됩니다. JSR 177은 필요한 하드웨어 시뮬레이션을 지원하지 않기 때문에 BlackBerry 시뮬레이터에서 작동하지 않습니다. NFC 시뮬레이션을 추가하려면 시뮬레이터를 편집하고 here의 지침을 따라야합니다. 이 지침을 완료하지 않았으므로 SIM에 대한 JSR 177 연결을 시뮬레이션 할 수 있는지 여부를 알 수 없습니다. 링크에 제공된 지침에서 "BlackBerry Smartphone Simulator는 안전하지 않은 수동 통신 만 시뮬레이션합니다."라고 설명합니다.

BlackBerry NFC Primer을 읽고 스마트 카드 응용 프로그램과 상호 작용하는 것에 대한 지식이 있습니다.

BlackBerry 장치에서 JSR 177을 사용할 수도 있지만 이렇게하려면 API에 액세스 할 수 있도록 NCFR 또는 RESE 서명으로 응용 프로그램에 서명해야합니다. 이 서명은 BlackBerry에 대한 응용 프로그램에서만 얻을 수 있습니다. 신청서에서 사용하는 API에 따라 두 가지 또는 하나의 서명이 필요할 수 있습니다. 그러나 SIM과 통신하려면 NFCR 서명 만 있으면됩니다.

//The BNF URI is explained within JSR 177, it will connect to the AID specified in the 
//target. In this example the AID is the first thing that came to my head and should be an 
//application install on the UICC. 
    final String BNF_URI = "apdu:0;target=A0.00.00.00.01.02.03.04"; 

    ... 

    //Cmd APDU defines the APDU to be sent to the application on the UICC 
    byte[] cmdApdu = new byte[]{ 0x00, 0x4A, 0x00, 0x01, 0x00}; 
    ApduConnection conn = (ApduConnection)Connector.open(); 
    byte[] rApdu = conn.exchangeAPDU(cmdApdu); 
    ... 

는 R-APDU 스마트 카드 내의 애플리케이션으로부터 전송 된 데이터의 바이트 배열 될 것이다 수신 된 예에서 : 아래

는 JSR (177) 접속을 생성하는 방법의 짧은 (안된) 일례이다 환경.