웹 기반 CPU 카드 APDU 명령 처리 플러그인 개발

CPU 카드의 웹 기반 APDU 명령 처리

CPU 카드 소개

CPU 카드는 M1 카드와 다르며, 단순 저장 장치가 아닙니다. 빈 CPU 카드는 마치 빈 하드 드라이브와 같아서 초기화 없이는 사용할 수 없습니다. CPU 카드를 사용하기 위해서는 파일 시스템을 구축해야 합니다. 이는 디렉토리와 다양한 유형의 파일을 생성하는 과정을 포함합니다.

YF科技 IC 카드 리더 웹 플러그인

YF科技 IC 카드 리더 웹 플러그인은 CPU 카드의 웹 기반 작업을 지원하며, IE, Chrome, Firefox, Safari, Opera 및 이들 브라우저 엔진을 기반으로 하는 다른 브라우저를 지원합니다. 웹 상에서 CPU 카드 작업은 두 가지로 나뉩니다: 하나는 CPU 카드 리셋이고, 다른 하나는 APDU 명령 전송입니다.

CPU 카드 리셋

CPU 카드 작업을 수행하기 전에 반드시 카드를 리셋해야 합니다. CPU 카드 리셋의 웹 인터페이스는 다음과 같습니다:
function resetCard() {
  cardReader.resetCPU();
}
이 함수는 매개변수가 필요하지 않으며, 리셋 후 콜백 함수를 통해 리턴 문자열을 반환합니다. 콜백 함수의 결과 예시:
FunctionID=17,
Result: 실행 결과 값,
UID: 사용자 정의 순번,
CardNo: 카드 번호 (16진수),
strData: 리셋 후 반환된 16진 문자열,
ValData: 없음

CPU 카드 APDU 명령

CPU 카드에 APDU 명령을 전달하는 인터페이스는 다음과 같습니다:
function sendAPDU(command) {
  cardReader.sendAPDUCommand(command);
}
매개변수: - command: 실행할 APDU 명령 (16진 문자열). 콜백 함수의 결과 예시:
FunctionID=19,
Result: 실행 결과 값,
UID: 사용자 정의 순번,
CardNo: 없음,
strData: APDU 실행 후 반환된 16진 문자열,
ValData: APDU 명령 실행 상태 (10진수로 표시, 예: 9000은 36864로 표시)
여러 번의 APDU 명령을 실행하려면, 이전 명령이 완료되고 콜백 함수에서 결과를 반환한 후 다음 명령을 실행해야 합니다. 이를 위해 UID 매개변수를 사용하여 각 명령을 구분할 수 있습니다.

예제 코드

다음은 YF科技 IC 카드 리더 웹 플러그인이 설치되어 있을 때 CPU 카드에서 무작위 숫자를 얻는 예제입니다: 먼저 카드를 리셋합니다:
function resetCard() {
  cardReader.repeat = false;
  cardReader.stopAfterSuccess = false;
  cardReader.resetCPU();
}
콜백 함수:
cardReader.onResult(function(result) {
  switch(result.FunctionID) {
    case 17:
      if(result.Result > 0) {
        var atr = result.strData;
      } else {
        console.log("Error");
      }
      break;
  }
});
다음은 APDU 명령을 실행하여 무작위 숫자를 얻는 코드입니다:
function getRandomNumber() {
  cardReader.repeat = false;
  cardReader.stopAfterSuccess = false;
  cardReader.sendAPDUCommand("0084000008"); // 8바이트 무작위 숫자 요청
}
콜백 함수:
cardReader.onResult(function(result) {
  switch(result.FunctionID) {
    case 19:
      if(result.Result > 0) {
        var randomNumber = result.strData;
      } else {
        console.log("Error");
      }
      break;
  }
});

태그: CPU카드 APDU명령 웹플러그인 IC카드리더

6월 25일 16:23에 게시됨