Page 1 of 1

Difference between KeyBuilder and KeyPair

Posted: Wed Apr 26, 2017 3:17 am
by Vlidda
I have doubts about key generation when writing my java card applet. I wonder the difference between KeyBuilder and KeyPair and also the difference between buildKey and KeyPair as well.
And what type of memory is used by the genKeyPair() method, Transient or Persistent ? Many thanks for any help.

Re: Difference between KeyBuilder and KeyPair

Posted: Wed Apr 26, 2017 6:00 am
by chico0609
buildKey is not used to generate a key.

And what type of memory is used by the genKeyPair() method, Transient or Persistent ?


From my understanding, it is common for a smart cards to have RAM dedicated to cryptographic operations. In fact, as much of the operation as possible is done in transient RAM. For key objects, you can specify where the key material is stored. This is specified when you create the key object.

Re: Difference between KeyBuilder and KeyPair

Posted: Wed Apr 26, 2017 11:15 pm
by Vlidda
I used new state to generate RSA keypair object, does it mean that the key objects will be stored in persistent memory?

Code: Select all

KeyPair RSA_KEYP= new KeyPair(KeyPair.ALG_RSA_CRT, (short)1024);
RSA_KEYP.genKeyPair();
rsa_PublicKey = (RSAPublicKey)RSA_KEYP.getPublic();
rsa_PrivateKey=(RSAPrivateCrtKey)RSA_KEYP.getPrivate();               

Re: Difference between KeyBuilder and KeyPair

Posted: Thu Apr 27, 2017 4:12 am
by chico0609
Yes, if you use new statement, the key objects will be stored in persistent memory.

You just need to write once and then you can read many times.