4

I imagine this makes no difference, but I will try to access it using a Java application.

UPDATE: I'll use smart cards in a public/private keys encryption system.

The Student
  • 27,520
  • 68
  • 161
  • 264

6 Answers6

10

There are different types of smart cards and you're not making clear which kind of test you mean, but I guess you're talking about cryptographic smart cards.

JavaCard development kit contains a reference JCRE which can be used to emulate a hardware JavaCard in software, so you can "deploy" your smart card applet (if you're writing one) to the non-existant smart card and test it with apdutool [1]

[1] http://www.developer.com/tech/article.php/913451/A-Java-Card-Primer-Part-2.htm

Martin Paljak
  • 4,119
  • 18
  • 20
  • I'll use smart cards in a public/private keys encryption system. – The Student Jun 01 '10 at 13:56
  • If you're only going to *use* smart cards (not deal with the personalization cycle) you could forget the virtual smart card thing and use a software PKCS#11 implementation, as most smart card vendors provide one for their cards. PKCS#11 as an interface is constant so *hopefully* you need to do only minor or no changes at all to your code to use smart cards after you are done with development and testing. – Martin Paljak Jun 02 '10 at 09:32
  • 1
    www.opensc-project.org/opensc/JavaCard contains links with resources to JavaCard related stuff (nothing about emulators) but for generic card related development you don't need to emulate a single card (unless you're definitely planning to do smart card dev) rather you need to emulate the required software API (like PKCS#11). So, depending on your application, will you be using the Sun PKCS#11 method (high level, card-neutral crypto interface for smart cards or HSM-s) or javax.smartcardio 1.6+ (Low level, card-dependant access method for smart cards) is the first question you need to ask. – Martin Paljak Jun 02 '10 at 09:33
  • I'm looking for the most generic thing possible, just for tests, as we still don't know details about the smart card we will get.. (the project designers are studying it). – The Student Jun 02 '10 at 14:25
  • Doesn't get more generic than PKCS#11 or similar API. Every other interface layer will be more card-specific. – foo Mar 28 '11 at 15:58
7

You can use our open-source emulator jCardSim http://jcardsim.org for this purpose. It's fully emulate the real NXP-chip JavaCard and also, you can use javax.smartcardio (Virtual Java Card Terminal) for a tests.

MikhailDudarev
  • 461
  • 4
  • 8
2

The JCIDE's virtual SmartCard can simulate a card based on the PCSC communication protocol in a Windows System, which can be used nearly the same as a real card.

The JCIDE is a javacard development kit which contains virtual card and virtual reader. You can use to run/debug some tests for free.

You can see more "https://github.com/Tolice/JCIDE/wiki"

JavaCardOS
  • 491
  • 2
  • 7
0

You can get a virtual smartcard (and a virtual reader) here: http://sourceforge.net/projects/vsmartcard/

Fa11enAngel
  • 4,690
  • 2
  • 39
  • 38
0

If you're looking for a javacard implementation, the CAPRunner might be your friend. It can runs CAP files. Used in combination with WebSCard you also get a web interface to it.

Ben
  • 1,085
  • 13
  • 13
-1

If you really want to get down on JavaCard programming level, current NetBeans http://www.netbeans.org/ (6.9.1 and later) have a JavaCard module that comes ready with a JC3 card emulator, allowing you to test your cardlets/applets by just pressing "run" (or "debug") in JavaCard project.

It's pretty comfortable, but beware of the different JavaCard versions and check which features, functions and parameters are actually available for the platform version you are programming for in the end.

foo
  • 1,968
  • 1
  • 23
  • 35