2016-09-18 1 views
1

내 Java 카드에 애플릿을 작성하고 SAM에 다른 애플릿을 작성했습니다. 각자 생성 한 난수를 보내서 상호 인증을 만들고 싶습니다. 독자의 모델은 다음과 같습니다Javacard에서 애플릿 인증 SAM (Secure Access Module)에서 애플릿을

c:\>gp.exe -all -d 
# Detected readers from SunPCSC 
[*] ACS ACR1281 1S Dual Reader PICC 0 
[*] ACS ACR1281 1S Dual Reader SAM 0 

내가 SAM에 애플릿을 선택, 난수를 생성하고 보내. 그런 다음 Java 카드에서 애플릿을 선택하여 SAM의 무작위로 문자열을 생성하고 카드로 새로운 임의 생성을 생성하고 혼합 된 무작위를 보냅니다.

그래서 랜덤을 검사하기 위해 SAM에서 애플릿을 다시 선택해야합니다. 그러나 내 랜덤 메모리가 일시적으로 Clear_ON_RESET 메모리에 있으므로 사라졌습니다.

일시적으로 난수가 필요합니다. CLEAR_ON_RESET 메모리. APDU를 보내는 데 gp.exe을 사용합니다.

SAM과 카드를 모두 선택할 수있는 방법이 있습니까? 나는 그들 모두를 가질 수있는 방법이 있어야한다고 생각합니다.

답변

5

다른 (논리적 인) 리더 장치가있는 경우 다른 장치를 사용하는 동안 해당 리더 장치 중 하나에 채널을 닫을 필요가 없습니다. 동일한 스레드에서조차도 동시에 사용할 수 있어야합니다.

문제는 해당 용도로 쓰여지지 않은 도구 인 gp.exe을 사용하고 있습니다. 예를 들어 Java & javax.smartcardio을 사용하여 응용 프로그램을 코딩하십시오.