О проекте

jCardSim — это open-source симулятор, реализующий Java Card API, v.2.2.1/2:

  • javacard.framework.*
  • javacard.framework.security.*
  • javacardx.crypto.*

Основные возможности:

  • Возможность быстрого прототипирования приложений
  • Удобство написания Unit-тестов (в пять строк кода)
    //1. create simulator
    JavaxSmartCardInterface simulator = new JavaxSmartCardInterface();
    //2. install applet
    simulator.installApplet(appletAID, HelloWorldApplet.class);
    //3. select applet
    simulator.selectApplet(appletAID);
    //4. send apdu
    ResponseAPDU response = simulator.transmitCommand(new CommandAPDU(0x01, 0x01, 0x00, 0x00));
    //5. check response
    assertEquals(0x9000, response.getSW());
  • Эмуляция Java Card Terminal и работа через javax.smartcardio
  • Возможность исполнения APDU-скриптов, совместимых с apdutool из Java Card Development Kit
  • Простота создания верификационных тестов

Чем он отличается от Oracle симулятора из Java Card Development Kit?

  • Реализация javacard.secuirty.*
  • Одно из основных функциональных отличий реализация javacard.security.*: текущая версия аналогична по функционалу карте NXP JCOP 31/36k. Например, в jCardSim поддерживается on-card генерация ключей: KeyPair.ALG_EC_F2M/ALG_RSA_CRT, а в симуляторе, идущем в составе Java Card Development Kit 2.2.1, поддерживается on-card генерация только KeyPair.ALG_RSA и KeyPair.ALG_EC_FP, которые на реальной карте не поддерживаются.

  • Возможность запуска Java Card приложений без конвертации в CAP-формат
  • jCardSim умеет работать непосредственно с class-файлами. Это позволяет упростить и ускорить процесс разработки и написания unit-тестов.

  • Simulator API
  • Простой и удобный API для использования jCardSim и возможность работы с симулятором как с виртуальной Java Card используя javax.smartcardio.*.

  • Кросcплатформенность
  • jCardSim полностью написан на Java и поэтому его можно использовать на всех удобных для разработчика платформах (Windows, Linux, MacOS).

Разработчик: Компания LICEL CORPORATION разрабатывает встраиваемые решения с использованием технологий Java и JavaCard (платежные системы, медицинские системы, системы защиты), и предоставляет услуги в области защиты программных продуктов от нелегального копирования и использования.

Как помочь проекту:

  • Присоединяйтесь к нашей команде разработчиков jCardSim.
  • Попробуйте DexProtector. Мы создали этот продукт специально для защиты Android-приложений для защиты от автоматизированных средств декомпиляции и снятия систем лицензионной защиты, а так же для защиты от ручных методов взлома. Мы надеемся, что вас заинтересует наш продукт! Мы будем благодарны, если вы расскажете о нем свои друзьям, знакомым и читателям, кому DexProtector может быть интересен.
  • У нас есть еще один продукт для вас - Stringer Java Obfuscator. Этот продукт больше нацелен на защиту Java-приложений. Мы так же будем благодарны вам, если вы попробуете его и расскажете о Stringer Java Obfuscator.

Лицензия: Apache License 2.0

Используемые сторонние библиотеки: Legion of the Bouncy Castle Java

Торговые марки Oracle, Java, Java Card принадлежит Oracle Corporation.