2017-09-19 6 views
2

.CAP 파일 (애플릿)을 가지고 있으며이를 내 Java 카드에 설치하려고합니다. GPShell이나 apdutool (JCDK의 도구) 같은 도구를 사용할 수 있다는 것을 알고 있지만 설치 과정을 스스로 복제하고 싶습니다.자바 카드에 애플릿을 설치하는 APDU 명령의 순서는 무엇입니까?

GP 표준에서 설치 프로세스는 다음과 같습니다. APDU 명령 INSTALL [for load] 다음에 여러 LOAD 명령 다음에 [install] 명령이 INSTALL됩니다.

오라클 설명서에서 .CAP 파일 설치를위한 다른 순서의 APDU 명령을 제안하는 경우 : 선택 (발급자 보안 도메인?), CAP 시작, 구성 요소 ## Begin + Data + End (각 구성 요소의 경우), CAP End, 애플릿 만들기.

두 가지 방법으로 애플릿을 설치할 수 있습니까?

LOAD 명령 DATA 필드에는 무엇이 들어 있습니까? GP 표준은이를 명시하지 않고 .CAP 파일에서 원시 바이트를 보내는 것이 잘못되었다는 것을 알고 있습니다. 애플릿을 성공적으로 설치하기 위해 GPShell을 사용했지만 LOAD 명령의 DATA 필드는 나에게 아무 의미가 없었습니다. 나는 APDU 명령을 genetate 자바 카드 developement에 키트 scriptgen를 사용 오라클 방법, 그러나 그 명령의 INS 바이트 (B0, B2, B4, BC, BA)에 대한 GPShell output

에는 GP 기준이 없습니다. 오라클 문서는 .CAP 파일을 설치하는 APDU 명령의 다른 순서를 제안하는 동안 scriptgen output

+0

오라클 설명서를 지적 해 주시겠습니까? .cap 파일을로드하는 방법에는 여러 가지가 있습니다. 공식적으로 GP를 사용할 필요는 없습니다. 그러나 GP는 99 %의 시간 동안 사용됩니다. 이것이 동일한 프로세스를 설명하는 다른 방법 일 가능성이 높습니다. –

+0

태그를 사용할 때 웹 애플릿이 추정되는 간단한 이유로 [태그 : 애플릿] 태그를 제거했습니다. 그냥 [tag : javacard] 만 있으면 충분합니다. –

+0

오라클 문서 링크 : https://docs.oracle.com/cd/E59935_01/guide/downloading_cap_files_and_creating_applets.htm#GUID-E07D5102-4DC0-4E25-B124-7FB474396C01. GP 표준은 명령의이 영역 (INS 바이트 B0, B2, B4, BC, BA)을 포괄하지 않을 가능성이 높습니다. 그러나 oracle 플랫폼에서 apdu 명령 시퀀스를 사용하여 작동하는지 확인합니다. – Vbs

답변

3

: (발급자 보안 도메인을 ?)을 선택, CAP는, 구성 요소 시작 ## 각 구성 요소에 대한 + 데이터 + 끝 (시작), CAP 종료, 애플릿 작성.

카드에 애플릿을로드하고 설치하는 책임있는 구성 요소이므로 애플릿을 설치하기 전에 카드 관리자 (발급자 보안 도메인 - 루트)를 선택해야합니다. 보안 채널 (SCP02 선호)을 설정하여 카드 관리자로 인증해야합니다.

애플릿을 설치하는 APDU의 다음과 같은 순서를 수행 -

  1. 선택 발급자 보안 도메인 (ISD). 00 A4 04 00 LC AID_ISD ISD와

  2. 인증합니다.

    SCP02를 설정하십시오 (명령 초기화 업데이트, 외부 인증 참조). 여기에 카드의 3DES 키가 필요합니다. 카드와 함께 제공된 설명서 을 참조하십시오.

  3. [전송]을 설치하십시오.

혼란스러운 일이 GP 표준에 설치 프로세스가 있다는 것이다 : APDU 명령이 [부하] INSTALL 여러 LOAD INSTALL [설치를 위해] 명령 다음 명령 하였다.

  1. Send apdu, Load Blocks.

    . 애플릿의 캡 파일은 해당 구성 요소의 CAP의 개 파일 (http://pfa12.free.fr/doc_java/javacard_specifications/specs/jcvm/html/JCVM06cap.html)의 압축 파일입니다. 따라서 각 CAP 파일을 카드에 하나씩 보내야합니다.

    로드 (Header.cap),로드 (Directory.cap) ... 등

  2. APDU 송신은 [설치에 대해]를 설치한다. 설치 완료.

+1

OP는 [GlobalPlatformPro source] (https://github.com/martinpaljak/GlobalPlatformPro/blob/67ee76e7f189fada318053b6daf2d55d92a1c89c/src/pro/javacard/gp/CapFile.java#L215)를 살펴볼 수 있습니다. 여기서 LOAD 준비되어 있습니다. – vlp