We are very pleased to announce the release of JCKit JAVACOS_Beta_2.0.2.8.

Compared with the previous version, this version is a more intelligent and powerful IDE which fixed various bugs and added many new features. See this post to know more release details.

IMPORTANT NOTE: please check this page to learn how to register JCIDE.

Send a random number to host

JavaCard Applet Development Related Questions and Answers.
Posts: 5
Joined: Wed Dec 21, 2016 11:50 pm
Points: 70

Send a random number to host

Postby Marcat » Wed Jan 11, 2017 10:56 pm

I want to send a random number to a host. Now my problem is how to create APDU answer. anyone can help?

Code: Select all

    private void sendChallenge(APDU apdu){

    byte[] apduBuffer = apdu.getBuffer();

    try {
      SecureRandom prng = SecureRandom.getInstance("SHA1PRNG");
      String randomNum = new Integer( prng.nextInt() ).toString();
      byte[] randomBytes = randomNum.getBytes();
   /* I want to send the number here */

    catch ( NoSuchAlgorithmException ex ) {


User avatar
Posts: 216
Joined: Mon May 18, 2015 3:09 am
Points: 1439

Re: Send a random number to host

Postby mabel » Thu Jan 12, 2017 3:53 am

Sample code for you

Code: Select all

   short le = apdu.setOutgoing();
   if (le < (short)2) ISOException.throwIt( ISO7816.SW_WRONG_LENGTH );
   apdu.setOutgoingLength( (short)3 );

   buffer[0] = (byte)1; buffer[1] = (byte)2; buffer[3] = (byte)3;
   apdu.sendBytes ( (short)0 , (short)3 );

Posts: 100
Joined: Wed Aug 19, 2015 1:56 am
Points: 464

Re: Send a random number to host

Postby Tarantino » Thu Jan 12, 2017 5:39 am

It seems that the code you posted is J2SE-code, not JavaCard code.
For Java Card, you can only use the classes defined in JavaCard 2.1 specification.


Code: Select all

    byte[] apduBuffer = apdu.getBuffer();
    RandomData random = RandomData.getInstance(RandomData.ALG_SECURE_RANDOM); 
    random.generateData(randomArray,(short)0, (short)32);
    apdu.setOutgoingAndSend((short)0, (short)32);

The greatest glory in living lies not in never falling, but in rising every time we fall.--Nelson Mandela

Return to “Questions & Answers”

Who is online

Users browsing this forum: No registered users and 1 guest

JavaCard OS : Disclaimer