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.*
- Возможность запуска Java Card приложений без конвертации в CAP-формат
- Simulator API
- Кросcплатформенность
Одно из основных функциональных отличий реализация 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, которые на реальной карте не поддерживаются.
jCardSim умеет работать непосредственно с class-файлами. Это позволяет упростить и ускорить процесс разработки и написания unit-тестов.
Простой и удобный API для использования jCardSim и возможность работы с симулятором как с виртуальной Java Card используя javax.smartcardio.*
.
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.