2010-05-12 8 views
6

프로젝트 분석으로 인해 Java가 스마트 카드에 어떻게 액세스하는지 배우려고합니다. 나는 Java로 몇 가지 테스트를 수행하는 데 사용할 수있는 가상 스마트 카드가 있는지 궁금합니다.Java로 스마트 카드에 액세스

그런데 Java Card에 대해 읽었습니다. Java를 사용하여 스마트 카드 데이터 액세스가 아닌 카드로 Java를 실행하는 것처럼 보입니다. 그렇습니까?

답변

9

Look at this tutorial + example. 그리고 related. (나는이 예제들을 사용했고 그들은 잘 동작한다.)

중요한 점은 스마트 카드에서 아무 것도 얻을 수 없다는 것입니다. 해당 프로세서에만 보낼 수 있습니다. 그러므로 PrivateKey 객체를 얻을 때마다 실제로는 개인 키가 없습니다.이 키는 SmartCard 프로세서의 프록시 일 뿐이며이 메서드를 호출하면 프로세서를 호출합니다.

가상 스마트 카드는 인식하지 못합니다.

관심의 API는 Java Card Development Kit와 함께 번들로 자바 카드 에뮬레이터가있다 javax.smartcardio

+0

"스마트 카드에서 아무것도 가져올 수 없다"는 의미는 공개 키를 가져올 수 없다는 뜻이 아닙니다. –

+1

좋습니다. 찾았습니다. http://www.java2s.com/Open - 소스/Java-Document/6.0-JDK-Core/smartcardio/javax.smartcardio.htm –

+0

공개 키를 얻을 수 있습니다. 예 : – Bozho

2

입니다. 어떤 단계에서 실제 카드를 사용할 계획이라면 잠시 동안 버전 3 카드를 기대하지 않으므로 버전 2.2.1 또는 2.2.2를 얻으십시오. 카드를 넣으려면 애플릿이 필요합니다. 자바 카드는 아무 것도하지 않습니다. 모든 유용한 기능을 수행 할 카드 애플릿을로드 할 때까지는 아닙니다.

JCDK에서 에뮬레이터의 문제점 중 하나는 javax.smartcardio를 사용하여 카드에 액세스 할 수 없다는 것이고 이것은 카드와 통신하기 위해 현재 가장 선호되는 방법입니다. 다른 대중적인 대안 인 OpenCard Framework는 얼마 동안 활발히 유지되지 않았습니다.

1

Javacard는 Java 개발의 하위 집합만을 사용합니다. Java 개발 환경을 사용하지 않는 것이 좋습니다. 일부 특수 효과가 지원되지 않기 때문에 플러그인 또는 전용 개발 IDE를 다운로드 할 수 있습니다. 여기에서 다운로드 할 수 있습니다. www.javacos.com 관련 개발 환경.

관련 문제