**javacard.security** ====Class KeyBuilder ==== *[[javacard:java-card-api:object|java.lang.Object]] \\ ---- public class **KeyBuilder**extends [[javacard:java-card-api:Object|Object]] The KeyBuilder class is a key object factory. ---- ^ Field Summary ^^ | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_AES_128|LENGTH_AES_128]] **          AES Key Length LENGTH_AES_128 = 128. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_AES_192|LENGTH_AES_192]] **          AES Key Length LENGTH_AES_192 = 192. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_AES_256|LENGTH_AES_256]] **          AES Key Length LENGTH_AES_256 = 256. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_DES|LENGTH_DES]] **          DES Key Length LENGTH_DES = 64. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_DES3_2KEY|LENGTH_DES3_2KEY]] **          DES Key Length LENGTH_DES3_2KEY = 128. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_DES3_3KEY|LENGTH_DES3_3KEY]] **          DES Key Length LENGTH_DES3_3KEY = 192. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_DSA_1024|LENGTH_DSA_1024]] **          DSA Key Length LENGTH_DSA_1024 = 1024. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_DSA_512|LENGTH_DSA_512]] **          DSA Key Length LENGTH_DSA_512 = 512. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_DSA_768|LENGTH_DSA_768]] **          DSA Key Length LENGTH_DSA_768 = 768. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_EC_F2M_113|LENGTH_EC_F2M_113]] **          EC Key Length LENGTH_EC_F2M_113 = 113. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_EC_F2M_131|LENGTH_EC_F2M_131]] **          EC Key Length LENGTH_EC_F2M_131 = 131. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_EC_F2M_163|LENGTH_EC_F2M_163]] **          EC Key Length LENGTH_EC_F2M_163 = 163. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_EC_F2M_193|LENGTH_EC_F2M_193]] **          EC Key Length LENGTH_EC_F2M_193 = 193. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_EC_FP_112|LENGTH_EC_FP_112]] **          EC Key Length LENGTH_EC_FP_112 = 112. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_EC_FP_128|LENGTH_EC_FP_128]] **          EC Key Length LENGTH_EC_FP_128 = 128. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_EC_FP_160|LENGTH_EC_FP_160]] **          EC Key Length LENGTH_EC_FP_160 = 160. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_EC_FP_192|LENGTH_EC_FP_192]] **          EC Key Length LENGTH_EC_FP_192 = 192. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_HMAC_SHA_1_BLOCK_64|LENGTH_HMAC_SHA_1_BLOCK_64]] **          HMAC Key Length LENGTH_HMAC_SHA_1_BLOCK_64 = 64. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_HMAC_SHA_256_BLOCK_64|LENGTH_HMAC_SHA_256_BLOCK_64]] **          HMAC Key Length LENGTH_HMAC_SHA_256_BLOCK_64 = 64. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_HMAC_SHA_384_BLOCK_128|LENGTH_HMAC_SHA_384_BLOCK_128]] **          HMAC Key Length LENGTH_HMAC_SHA_384_BLOCK_128 = 64. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_HMAC_SHA_512_BLOCK_128|LENGTH_HMAC_SHA_512_BLOCK_128]] **          HMAC Key Length LENGTH_HMAC_SHA_512_BLOCK_128 = 64. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_KOREAN_SEED_128|LENGTH_KOREAN_SEED_128]] **          Korean Seed Key Length LENGTH_KOREAN_SEED_128 = 128. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_RSA_1024|LENGTH_RSA_1024]] **          RSA Key Length LENGTH_RSA_1024 = 1024. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_RSA_1280|LENGTH_RSA_1280]] **          RSA Key Length LENGTH_RSA_1280 = 1280. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_RSA_1536|LENGTH_RSA_1536]] **          RSA Key Length LENGTH_RSA_1536 = 1536. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_RSA_1984|LENGTH_RSA_1984]] **          RSA Key Length LENGTH_RSA_1984 = 1984. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_RSA_2048|LENGTH_RSA_2048]] **          RSA Key Length LENGTH_RSA_2048 = 2048. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_RSA_512|LENGTH_RSA_512]] **          RSA Key Length LENGTH_RSA_512 = 512. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_RSA_736|LENGTH_RSA_736]] **          RSA Key Length LENGTH_RSA_736 = 736. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_RSA_768|LENGTH_RSA_768]] **          RSA Key Length LENGTH_RSA_768 = 768. | | **static short** | **[[javacard:java-card-api:KeyBuilder#LENGTH_RSA_896|LENGTH_RSA_896]] **          RSA Key Length LENGTH_RSA_896 = 896. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_AES|TYPE_AES]] **          Key object which implements interface type AESKey with persistent key data. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_AES_TRANSIENT_DESELECT|TYPE_AES_TRANSIENT_DESELECT]] **          Key object which implements interface type AESKey with CLEAR_ON_DESELECT transient key data. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_AES_TRANSIENT_RESET|TYPE_AES_TRANSIENT_RESET]] **          Key object which implements interface type AESKey with CLEAR_ON_RESET transient key data. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_DES|TYPE_DES]] **          Key object which implements interface type DESKey with persistent key data. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_DES_TRANSIENT_DESELECT|TYPE_DES_TRANSIENT_DESELECT]] **          Key object which implements interface type DESKey with CLEAR_ON_DESELECT transient key data. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_DES_TRANSIENT_RESET|TYPE_DES_TRANSIENT_RESET]] **          Key object which implements interface type DESKey with CLEAR_ON_RESET transient key data. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_DSA_PRIVATE|TYPE_DSA_PRIVATE]] **          Key object which implements the interface type DSAPrivateKey for the DSA algorithm. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_DSA_PUBLIC|TYPE_DSA_PUBLIC]] **          Key object which implements the interface type DSAPublicKey for the DSA algorithm. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_EC_F2M_PRIVATE|TYPE_EC_F2M_PRIVATE]] **          Key object which implements the interface type ECPrivateKey for EC operations over fields of characteristic 2 with polynomial basis. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_EC_F2M_PUBLIC|TYPE_EC_F2M_PUBLIC]] **          Key object which implements the interface type ECPublicKey for EC operations over fields of characteristic 2 with polynomial basis. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_EC_FP_PRIVATE|TYPE_EC_FP_PRIVATE]] **          Key object which implements the interface type ECPrivateKey for EC operations over large prime fields. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_EC_FP_PUBLIC|TYPE_EC_FP_PUBLIC]] **          Key object which implements the interface type ECPublicKey for EC operations over large prime fields. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_HMAC|TYPE_HMAC]] **          Key object which implements interface type HMACKey with persistent key data. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_HMAC_TRANSIENT_DESELECT|TYPE_HMAC_TRANSIENT_DESELECT]] **          Key object which implements interface type HMACKey with CLEAR_ON_DESELECT transient key data. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_HMAC_TRANSIENT_RESET|TYPE_HMAC_TRANSIENT_RESET]] **          Key object which implements interface type HMACKey with CLEAR_ON_RESET transient key data. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_KOREAN_SEED|TYPE_KOREAN_SEED]] **          Key object which implements interface type KoreanSEEDKey with persistent key data. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_KOREAN_SEED_TRANSIENT_DESELECT|TYPE_KOREAN_SEED_TRANSIENT_DESELECT]] **          Key object which implements interface type KoreanSEEDKey with CLEAR_ON_DESELECT transient key data. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_KOREAN_SEED_TRANSIENT_RESET|TYPE_KOREAN_SEED_TRANSIENT_RESET]] **          Key object which implements interface type KoreanSEEDKey with CLEAR_ON_RESET transient key data. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_RSA_CRT_PRIVATE|TYPE_RSA_CRT_PRIVATE]] **          Key object which implements interface type RSAPrivateCrtKey which uses Chinese Remainder Theorem. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_RSA_PRIVATE|TYPE_RSA_PRIVATE]] **          Key object which implements interface type RSAPrivateKey which uses modulus/exponent form. | | **static byte** | **[[javacard:java-card-api:KeyBuilder#TYPE_RSA_PUBLIC|TYPE_RSA_PUBLIC]] **          Key object which implements interface type RSAPublicKey. |   ^ Method Summary ^^ | **static [[javacard:java-card-api:Key|Key]] ** | **[[javacard:java-card-api:KeyBuilder#buildKey(byte, short, boolean)|buildKey]] **(byte keyType,short keyLength,boolean keyEncryption)          Creates uninitialized cryptographic keys for signature and cipher algorithms. |   ^ Methods inherited from class java.lang.Object ^ | [[javacard:java-card-api:Object#equals(java.lang.Object)|equals]] |   ^ Field Detail ^ === TYPE_DES_TRANSIENT_RESET === public static final byte **TYPE_DES_TRANSIENT_RESET** Key object which implements interface type DESKey with CLEAR_ON_RESET transient key data. This Key object implicitly performs a clearKey() on power on or card reset. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_DES_TRANSIENT_RESET|Constant Field Values]] ---- === TYPE_DES_TRANSIENT_DESELECT === public static final byte **TYPE_DES_TRANSIENT_DESELECT** Key object which implements interface type DESKey with CLEAR_ON_DESELECT transient key data. This Key object implicitly performs a clearKey() on power on, card reset and applet deselection. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_DES_TRANSIENT_DESELECT|Constant Field Values]] ---- === TYPE_DES === public static final byte **TYPE_DES** Key object which implements interface type DESKey with persistent key data. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_DES|Constant Field Values]] ---- === TYPE_RSA_PUBLIC === public static final byte **TYPE_RSA_PUBLIC** Key object which implements interface type RSAPublicKey. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_RSA_PUBLIC|Constant Field Values]] ---- === TYPE_RSA_PRIVATE === public static final byte **TYPE_RSA_PRIVATE** Key object which implements interface type RSAPrivateKey which uses modulus/exponent form. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_RSA_PRIVATE|Constant Field Values]] ---- === TYPE_RSA_CRT_PRIVATE === public static final byte **TYPE_RSA_CRT_PRIVATE** Key object which implements interface type RSAPrivateCrtKey which uses Chinese Remainder Theorem. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_RSA_CRT_PRIVATE|Constant Field Values]] ---- === TYPE_DSA_PUBLIC === public static final byte **TYPE_DSA_PUBLIC** Key object which implements the interface type DSAPublicKey for the DSA algorithm. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_DSA_PUBLIC|Constant Field Values]] ---- === TYPE_DSA_PRIVATE === public static final byte **TYPE_DSA_PRIVATE** Key object which implements the interface type DSAPrivateKey for the DSA algorithm. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_DSA_PRIVATE|Constant Field Values]] ---- === TYPE_EC_F2M_PUBLIC === public static final byte **TYPE_EC_F2M_PUBLIC** Key object which implements the interface type ECPublicKey for EC operations over fields of characteristic 2 with polynomial basis. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_EC_F2M_PUBLIC|Constant Field Values]] ---- === TYPE_EC_F2M_PRIVATE === public static final byte **TYPE_EC_F2M_PRIVATE** Key object which implements the interface type ECPrivateKey for EC operations over fields of characteristic 2 with polynomial basis. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_EC_F2M_PRIVATE|Constant Field Values]] ---- === TYPE_EC_FP_PUBLIC === public static final byte **TYPE_EC_FP_PUBLIC** Key object which implements the interface type ECPublicKey for EC operations over large prime fields. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_EC_FP_PUBLIC|Constant Field Values]] ---- === TYPE_EC_FP_PRIVATE === public static final byte **TYPE_EC_FP_PRIVATE** Key object which implements the interface type ECPrivateKey for EC operations over large prime fields. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_EC_FP_PRIVATE|Constant Field Values]] ---- === TYPE_AES_TRANSIENT_RESET === public static final byte **TYPE_AES_TRANSIENT_RESET** Key object which implements interface type AESKey with CLEAR_ON_RESET transient key data. This Key object implicitly performs a clearKey() on power on or card reset. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_AES_TRANSIENT_RESET|Constant Field Values]] ---- === TYPE_AES_TRANSIENT_DESELECT === public static final byte **TYPE_AES_TRANSIENT_DESELECT** Key object which implements interface type AESKey with CLEAR_ON_DESELECT transient key data. This Key object implicitly performs a clearKey() on power on, card reset and applet deselection. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_AES_TRANSIENT_DESELECT|Constant Field Values]] ---- === TYPE_AES === public static final byte **TYPE_AES** Key object which implements interface type AESKey with persistent key data. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_AES|Constant Field Values]] ---- === TYPE_KOREAN_SEED_TRANSIENT_RESET === public static final byte **TYPE_KOREAN_SEED_TRANSIENT_RESET** Key object which implements interface type KoreanSEEDKey with CLEAR_ON_RESET transient key data. This Key object implicitly performs a clearKey() on power on or card reset. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_KOREAN_SEED_TRANSIENT_RESET|Constant Field Values]] ---- === TYPE_KOREAN_SEED_TRANSIENT_DESELECT === public static final byte **TYPE_KOREAN_SEED_TRANSIENT_DESELECT** Key object which implements interface type KoreanSEEDKey with CLEAR_ON_DESELECT transient key data. This Key object implicitly performs a clearKey() on power on or card reset. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_KOREAN_SEED_TRANSIENT_DESELECT|Constant Field Values]] ---- === TYPE_KOREAN_SEED === public static final byte **TYPE_KOREAN_SEED** Key object which implements interface type KoreanSEEDKey with persistent key data. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_KOREAN_SEED|Constant Field Values]] ---- === TYPE_HMAC_TRANSIENT_RESET === public static final byte **TYPE_HMAC_TRANSIENT_RESET** Key object which implements interface type HMACKey with CLEAR_ON_RESET transient key data. This Key object implicitly performs a clearKey() on power on or card reset. Note, there is no length constant associated with HMAC, since the specification states that the key can have any length. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_HMAC_TRANSIENT_RESET|Constant Field Values]] ---- === TYPE_HMAC_TRANSIENT_DESELECT === public static final byte **TYPE_HMAC_TRANSIENT_DESELECT** Key object which implements interface type HMACKey with CLEAR_ON_DESELECT transient key data. This Key object implicitly performs a clearKey() on power on or card reset. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_HMAC_TRANSIENT_DESELECT|Constant Field Values]] ---- === TYPE_HMAC === public static final byte **TYPE_HMAC** Key object which implements interface type HMACKey with persistent key data. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.TYPE_HMAC|Constant Field Values]] ---- === LENGTH_DES === public static final short **LENGTH_DES** DES Key Length LENGTH_DES = 64. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_DES|Constant Field Values]] ---- === LENGTH_DES3_2KEY === public static final short **LENGTH_DES3_2KEY** DES Key Length LENGTH_DES3_2KEY = 128. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_DES3_2KEY|Constant Field Values]] ---- === LENGTH_DES3_3KEY === public static final short **LENGTH_DES3_3KEY** DES Key Length LENGTH_DES3_3KEY = 192. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_DES3_3KEY|Constant Field Values]] ---- === LENGTH_RSA_512 === public static final short **LENGTH_RSA_512** RSA Key Length LENGTH_RSA_512 = 512. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_RSA_512|Constant Field Values]] ---- === LENGTH_RSA_736 === public static final short **LENGTH_RSA_736** RSA Key Length LENGTH_RSA_736 = 736. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_RSA_736|Constant Field Values]] ---- === LENGTH_RSA_768 === public static final short **LENGTH_RSA_768** RSA Key Length LENGTH_RSA_768 = 768. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_RSA_768|Constant Field Values]] ---- === LENGTH_RSA_896 === public static final short **LENGTH_RSA_896** RSA Key Length LENGTH_RSA_896 = 896. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_RSA_896|Constant Field Values]] ---- === LENGTH_RSA_1024 === public static final short **LENGTH_RSA_1024** RSA Key Length LENGTH_RSA_1024 = 1024. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_RSA_1024|Constant Field Values]] ---- === LENGTH_RSA_1280 === public static final short **LENGTH_RSA_1280** RSA Key Length LENGTH_RSA_1280 = 1280. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_RSA_1280|Constant Field Values]] ---- === LENGTH_RSA_1536 === public static final short **LENGTH_RSA_1536** RSA Key Length LENGTH_RSA_1536 = 1536. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_RSA_1536|Constant Field Values]] ---- === LENGTH_RSA_1984 === public static final short **LENGTH_RSA_1984** RSA Key Length LENGTH_RSA_1984 = 1984. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_RSA_1984|Constant Field Values]] ---- === LENGTH_RSA_2048 === public static final short **LENGTH_RSA_2048** RSA Key Length LENGTH_RSA_2048 = 2048. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_RSA_2048|Constant Field Values]] ---- === LENGTH_DSA_512 === public static final short **LENGTH_DSA_512** DSA Key Length LENGTH_DSA_512 = 512. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_DSA_512|Constant Field Values]] ---- === LENGTH_DSA_768 === public static final short **LENGTH_DSA_768** DSA Key Length LENGTH_DSA_768 = 768. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_DSA_768|Constant Field Values]] ---- === LENGTH_DSA_1024 === public static final short **LENGTH_DSA_1024** DSA Key Length LENGTH_DSA_1024 = 1024. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_DSA_1024|Constant Field Values]] ---- === LENGTH_EC_FP_112 === public static final short **LENGTH_EC_FP_112** EC Key Length LENGTH_EC_FP_112 = 112. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_EC_FP_112|Constant Field Values]] ---- === LENGTH_EC_F2M_113 === public static final short **LENGTH_EC_F2M_113** EC Key Length LENGTH_EC_F2M_113 = 113. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_EC_F2M_113|Constant Field Values]] ---- === LENGTH_EC_FP_128 === public static final short **LENGTH_EC_FP_128** EC Key Length LENGTH_EC_FP_128 = 128. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_EC_FP_128|Constant Field Values]] ---- === LENGTH_EC_F2M_131 === public static final short **LENGTH_EC_F2M_131** EC Key Length LENGTH_EC_F2M_131 = 131. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_EC_F2M_131|Constant Field Values]] ---- === LENGTH_EC_FP_160 === public static final short **LENGTH_EC_FP_160** EC Key Length LENGTH_EC_FP_160 = 160. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_EC_FP_160|Constant Field Values]] ---- === LENGTH_EC_F2M_163 === public static final short **LENGTH_EC_F2M_163** EC Key Length LENGTH_EC_F2M_163 = 163. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_EC_F2M_163|Constant Field Values]] ---- === LENGTH_EC_FP_192 === public static final short **LENGTH_EC_FP_192** EC Key Length LENGTH_EC_FP_192 = 192. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_EC_FP_192|Constant Field Values]] ---- === LENGTH_EC_F2M_193 === public static final short **LENGTH_EC_F2M_193** EC Key Length LENGTH_EC_F2M_193 = 193. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_EC_F2M_193|Constant Field Values]] ---- === LENGTH_AES_128 === public static final short **LENGTH_AES_128** AES Key Length LENGTH_AES_128 = 128. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_AES_128|Constant Field Values]] ---- === LENGTH_AES_192 === public static final short **LENGTH_AES_192** AES Key Length LENGTH_AES_192 = 192. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_AES_192|Constant Field Values]] ---- === LENGTH_AES_256 === public static final short **LENGTH_AES_256** AES Key Length LENGTH_AES_256 = 256. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_AES_256|Constant Field Values]] ---- === LENGTH_KOREAN_SEED_128 === public static final short **LENGTH_KOREAN_SEED_128** Korean Seed Key Length LENGTH_KOREAN_SEED_128 = 128. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_KOREAN_SEED_128|Constant Field Values]] ---- === LENGTH_HMAC_SHA_1_BLOCK_64 === public static final short **LENGTH_HMAC_SHA_1_BLOCK_64** HMAC Key Length LENGTH_HMAC_SHA_1_BLOCK_64 = 64. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_HMAC_SHA_1_BLOCK_64|Constant Field Values]] ---- === LENGTH_HMAC_SHA_256_BLOCK_64 === public static final short **LENGTH_HMAC_SHA_256_BLOCK_64** HMAC Key Length LENGTH_HMAC_SHA_256_BLOCK_64 = 64. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_HMAC_SHA_256_BLOCK_64|Constant Field Values]] ---- === LENGTH_HMAC_SHA_384_BLOCK_128 === public static final short **LENGTH_HMAC_SHA_384_BLOCK_128** HMAC Key Length LENGTH_HMAC_SHA_384_BLOCK_128 = 64. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_HMAC_SHA_384_BLOCK_128|Constant Field Values]] ---- === LENGTH_HMAC_SHA_512_BLOCK_128 === public static final short **LENGTH_HMAC_SHA_512_BLOCK_128** HMAC Key Length LENGTH_HMAC_SHA_512_BLOCK_128 = 64. **See Also:**[[javacard:java-card-api:constant-values#javacard.security.KeyBuilder.LENGTH_HMAC_SHA_512_BLOCK_128|Constant Field Values]] ^ Method Detail ^ === buildKey === public static [[javacard:java-card-api:Key|Key]] **buildKey**(byte keyType, short keyLength, boolean keyEncryption) throws [[javacard:java-card-api:CryptoException|CryptoException]] Creates uninitialized cryptographic keys for signature and cipher algorithms. Only instances created by this method may be the key objects used to initialize instances of Signature, Cipher and KeyPair. Note that the object returned must be cast to their appropriate key type interface. **Parameters:**keyType - the type of key to be generated. Valid codes listed in TYPE_* constants. See [[javacard:java-card-api:KeyBuilder#TYPE_DES_TRANSIENT_RESET|TYPE_DES_TRANSIENT_RESET]] . keyLength - the key size in bits. The valid key bit lengths are key type dependent. Some common key lengths are listed above above in the LENGTH_* constants. See [[javacard:java-card-api:KeyBuilder#LENGTH_DES|LENGTH_DES]] . keyEncryption - if true this boolean requests a key implementation which implements the javacardx.crypto.KeyEncryption interface. The key implementation returned may implement the javacardx.crypto.KeyEncryption interface even when this parameter is false. **Returns:**the key object instance of the requested key type, length and encrypted access **Throws:** [[javacard:java-card-api:CryptoException|CryptoException]] - with the following reason codes: \\ *CryptoException.NO_SUCH_ALGORITHM if the requested algorithm associated with the specified type, size of key and key encryption interface is not supported. \\