We are very excited to introduce our new product -JC10M128C java card.

JC10M128C card has 128KB EEPROM memory and supports many common algorithms. There are also Promotions in our online store for this new product.

For more details, please check this page.

Send a random number to host

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

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: 169
Joined: Mon May 18, 2015 3:09 am
Points: 1017

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: 81
Joined: Wed Aug 19, 2015 1:56 am
Points: 316

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: Google [Bot] and 1 guest

JavaCard OS : Disclaimer