Coder Social home page Coder Social logo

appletplayground's Introduction

Applet Playground Build Status

AppletPlayground is an educational repository for getting to know JavaCard development by learning from existing open source software.

It includes various open source applets from the internet, bundled into ready to use package. Everything you need to edit, compile and load the applets to real JavaCard-s or test with an emulator.

Time to experiment!

Experiments! Mad Genius Vector by Vectorya.com (CC 3.0 Attribution Non-Commercial)

Included applets

Note: applets marked with * have obvious blocking errors (missing casts from int to short for 2.2.X target) removed from source.

FEASIBILITY NOTICE

The above applets and the overall package comes "AS-IS". I make no claims about the feasibility, usability, security, correctness whatsoever of the whole package or any of the components. Use at your own risk. Everything here is only for educational purposes.

What you need ?

* you can work with source code without a card and reader, but for actual testing having one is preferable.

Included extras:

  • ant-javacard - for building CAP files (MIT)
  • GlobalPlatformPro - for loading the applets to the card (LGPL3)
  • JavaCard SDK 2.2.2 and 3.0.3 (Oracle-owns-you-and-your-grandma license)

How to use

  • Import this project from Git (or directly into Eclipse) and execute the "toys" ANT target.
  • Or use command line and issue ant
  • Use the included GlobalPlatform utility to load any of the generated applets (.cap files) to a card

In the pipeline:

Contact

appletplayground's People

Contributors

drew-tyfone avatar lumag avatar martinpaljak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

appletplayground's Issues

Problems with loading OpenPGP applet to NXP JCOP card

Strictly speaking this is not an issue, since this repo is just a collection of applets. But I cannot install most of the applets to my card, so I want to ask here for insights.

Describe the bug
When I'm trying to install OpenPGP or some other "heavy" applets like PKIApplet from AppletPlayground, GlobalPlatformPro fails with SCardTransmit got response 0x80100016 (SCARD_E_NOT_TRANSACTED: An attempt was made to end a non-existent transaction.)

Applets load successfully (package appears in --list), but I cannot create any instances of such applets.

Information about your card
NXP JCOP v2.4.1 R3, appears to have ~1706 bytes of RAM and ~53K of EEPROM (numbers taken from AlgTest applet which loads and runs successfully).

GlobalPlatformPro git hash: f38abc7f0a5ce6bec3a49e3f09cac117f97c7b5d
I tried to reproduce it with different readers and different host OSes, all attempts failed with same (or similar in case of Windows) error.

Expected behavior
Applet is expected to install successfully.

Full log
https://pastebin.com/ZQSDaJFm

Java card applet installation

Hi
I created an applet in javacard and thats running okay. I can see the CLA, INS etc after building but how can i see the output in netbeans. How is sending the apdu and receiving the output done?

Encryption/Decryption using java card

I have tried to create a java card applet which performs encryption using AES 128 CBC cipher.I used the Cipher class update() and doFinal() methods for the same. The applet is not encrypting more than 128 bytes.It shows error 6f00 when I send data beyond 128 bytes.Any reason why?

Also I was trying to use Random Data class to generate random data.I was trying to create ALG_SECURE_RANDOM instance but am unable to do so hence I had to use ALG_PSEUDO_RANDOM instance.Can you please help me with the same.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.