Class KeyBuilder
- java.lang.Object
-
- javacard.security.KeyBuilder
-
public class KeyBuilder extends Object
TheKeyBuilder
class is a key object factory.
-
-
Field Summary
Fields Modifier and Type Field Description static byte
ALG_TYPE_AES
Algorithmic key typeALG_TYPE_AES
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_DES
Algorithmic key typeALG_TYPE_DES
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_DH_PARAMETERS
Algorithmic key typeALG_TYPE_DH_PARAMETERS
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_DH_PRIVATE
Algorithmic key typeALG_TYPE_DH_PRIVATE
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_DH_PUBLIC
Algorithmic key typeALG_TYPE_DH_PUBLIC
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_DSA_PARAMETERS
Algorithmic key typeALG_TYPE_DSA_PARAMETERS
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_DSA_PRIVATE
Algorithmic key typeALG_TYPE_DSA_PRIVATE
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_DSA_PUBLIC
Algorithmic key typeALG_TYPE_DSA_PUBLIC
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_EC_F2M_PARAMETERS
Algorithmic key typeALG_TYPE_EC_F2M_PARAMETERS
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_EC_F2M_PRIVATE
Algorithmic key typeALG_TYPE_EC_F2M_PRIVATE
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_EC_F2M_PUBLIC
Algorithmic key typeALG_TYPE_EC_F2M_PUBLIC
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_EC_FP_PARAMETERS
Algorithmic key typeALG_TYPE_EC_FP_PARAMETERS
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_EC_FP_PRIVATE
Algorithmic key typeALG_TYPE_EC_FP_PRIVATE
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_EC_FP_PUBLIC
Algorithmic key typeALG_TYPE_EC_FP_PUBLIC
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_GENERIC_SECRET
Algorithmic key typeALG_GENERIC_SECRET
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_HMAC
Algorithmic key typeALG_TYPE_HMAC
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_KOREAN_SEED
Algorithmic key typeALG_TYPE_KOREAN_SEED
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_RSA_CRT_PRIVATE
Algorithmic key typeALG_TYPE_RSA_CRT_PRIVATE
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_RSA_PRIVATE
Algorithmic key typeALG_TYPE_RSA_PRIVATE
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_RSA_PUBLIC
Algorithmic key typeALG_TYPE_RSA_PUBLIC
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static byte
ALG_TYPE_SM4
Algorithmic key typeALG_SM4
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method.static short
ATTR_PRIVATE
Key attribute used to create a newXECPrivateKey
instance.static short
ATTR_PUBLIC
Key attribute used to create a newXECPublicKey
instance.static short
LENGTH_AES_128
AES Key LengthLENGTH_AES_128
= 128.static short
LENGTH_AES_192
AES Key LengthLENGTH_AES_192
= 192.static short
LENGTH_AES_256
AES Key LengthLENGTH_AES_256
= 256.static short
LENGTH_AES_512
AES Key LengthLENGTH_AES_512
= 512.static short
LENGTH_DES
DES Key LengthLENGTH_DES
= 64.static short
LENGTH_DES3_2KEY
DES Key LengthLENGTH_DES3_2KEY
for triple DES algorithm = 128.static short
LENGTH_DES3_3KEY
DES Key LengthLENGTH_DES3_3KEY
for triple DES algorithm = 192.static short
LENGTH_DH_1024
DH Key LengthLENGTH_DH_1024
= 1024.static short
LENGTH_DH_2048
DH Key LengthLENGTH_DH_2048
= 2048.static short
LENGTH_DSA_1024
DSA Key LengthLENGTH_DSA_1024
= 1024.static short
LENGTH_DSA_512
DSA Key LengthLENGTH_DSA_512
= 512.static short
LENGTH_DSA_768
DSA Key LengthLENGTH_DSA_768
= 768.static short
LENGTH_EC_F2M_113
EC Key LengthLENGTH_EC_F2M_113
= 113.static short
LENGTH_EC_F2M_131
EC Key LengthLENGTH_EC_F2M_131
= 131.static short
LENGTH_EC_F2M_163
EC Key LengthLENGTH_EC_F2M_163
= 163.static short
LENGTH_EC_F2M_193
EC Key LengthLENGTH_EC_F2M_193
= 193.static short
LENGTH_EC_FP_112
EC Key LengthLENGTH_EC_FP_112
= 112.static short
LENGTH_EC_FP_128
EC Key LengthLENGTH_EC_FP_128
= 128.static short
LENGTH_EC_FP_160
EC Key LengthLENGTH_EC_FP_160
= 160.static short
LENGTH_EC_FP_192
EC Key LengthLENGTH_EC_FP_192
= 192.static short
LENGTH_EC_FP_224
EC Key LengthLENGTH_EC_FP_224
= 224.static short
LENGTH_EC_FP_256
EC Key LengthLENGTH_EC_FP_256
= 256.static short
LENGTH_EC_FP_384
EC Key LengthLENGTH_EC_FP_384
= 384.static short
LENGTH_EC_FP_521
EC Key LengthLENGTH_EC_FP_521
= 521.static short
LENGTH_HMAC_SHA_1_BLOCK_64
HMAC-SHA-1 block lengthLENGTH_HMAC_SHA_1_BLOCK_64
= 64 expressed in bytes.static short
LENGTH_HMAC_SHA_256_BLOCK_64
HMAC-SHA-256 block lengthLENGTH_HMAC_SHA_256_BLOCK_64
= 64 expressed in bytes.static short
LENGTH_HMAC_SHA_384_BLOCK_128
HMAC-SHA-384 block lengthLENGTH_HMAC_SHA_384_BLOCK_128
= 128 expressed in bytes.static short
LENGTH_HMAC_SHA_512_BLOCK_128
HMAC-SHA-512 block lengthLENGTH_HMAC_SHA_512_BLOCK_128
= 128 expressed in bytes.static short
LENGTH_KOREAN_SEED_128
Korean Seed Key LengthLENGTH_KOREAN_SEED_128
= 128.static short
LENGTH_RSA_1024
RSA Key LengthLENGTH_RSA_1024
= 1024.static short
LENGTH_RSA_1280
RSA Key LengthLENGTH_RSA_1280
= 1280.static short
LENGTH_RSA_1536
RSA Key LengthLENGTH_RSA_1536
= 1536.static short
LENGTH_RSA_1984
RSA Key LengthLENGTH_RSA_1984
= 1984.static short
LENGTH_RSA_2048
RSA Key LengthLENGTH_RSA_2048
= 2048.static short
LENGTH_RSA_3072
RSA Key LengthLENGTH_RSA_3072
= 3072.static short
LENGTH_RSA_4096
RSA Key LengthLENGTH_RSA_4096
= 4096.static short
LENGTH_RSA_512
RSA Key LengthLENGTH_RSA_512
= 512.static short
LENGTH_RSA_736
RSA Key LengthLENGTH_RSA_736
= 736.static short
LENGTH_RSA_768
RSA Key LengthLENGTH_RSA_768
= 768.static short
LENGTH_RSA_896
RSA Key LengthLENGTH_RSA_896
= 896.static short
LENGTH_SM4
SM4 Key LengthLENGTH_SM4
= 128.static byte
TYPE_AES
Key
object which implements interface typeAESKey
with persistent key data.static byte
TYPE_AES_TRANSIENT_DESELECT
Key
object which implements interface typeAESKey
with CLEAR_ON_DESELECT transient key data.static byte
TYPE_AES_TRANSIENT_RESET
Key
object which implements interface typeAESKey
with CLEAR_ON_RESET transient key data.static byte
TYPE_DES
Key
object which implements interface typeDESKey
with persistent key data.static byte
TYPE_DES_TRANSIENT_DESELECT
Key
object which implements interface typeDESKey
with CLEAR_ON_DESELECT transient key data.static byte
TYPE_DES_TRANSIENT_RESET
Key
object which implements interface typeDESKey
with CLEAR_ON_RESET transient key data.static byte
TYPE_DH_PARAMETERS
Key
object used to provide domain parameter inbuildKeyWithSharedDomain(byte, byte, Key, boolean)
.static byte
TYPE_DH_PRIVATE
Key object which implements the interface typeDHPrivateKey
for DH operations.static byte
TYPE_DH_PRIVATE_TRANSIENT_DESELECT
Key object which implements the interface typeDHPrivateKey
for DH operations, .static byte
TYPE_DH_PRIVATE_TRANSIENT_RESET
Key object which implements the interface typeDHPrivateKey
for DH operations.static byte
TYPE_DH_PUBLIC
Key object which implements the interface typeDHPublicKey
for DH operations.static byte
TYPE_DH_PUBLIC_TRANSIENT_DESELECT
Key object which implements the interface typeDHPublicKey
for DH operations, .static byte
TYPE_DH_PUBLIC_TRANSIENT_RESET
Key object which implements the interface typeDHPublicKey
for DH operations.static byte
TYPE_DSA_PARAMETERS
Key
object used to provide domain parameter inbuildKeyWithSharedDomain(byte, byte, Key, boolean)
.static byte
TYPE_DSA_PRIVATE
Key
object which implements the interface typeDSAPrivateKey
for the DSA algorithm.static byte
TYPE_DSA_PRIVATE_TRANSIENT_DESELECT
Key
object which implements the interface typeDSAPrivateKey
for the DSA algorithm, with CLEAR_ON_DESELECT transient key data.static byte
TYPE_DSA_PRIVATE_TRANSIENT_RESET
Key
object which implements the interface typeDSAPrivateKey
for the DSA algorithm, with CLEAR_ON_RESET transient key data.static byte
TYPE_DSA_PUBLIC
Key
object which implements the interface typeDSAPublicKey
for the DSA algorithm.static byte
TYPE_EC_F2M_PARAMETERS
Key
object used to provide domain parameter inbuildKeyWithSharedDomain(byte, byte, Key, boolean)
.static byte
TYPE_EC_F2M_PRIVATE
Key object which implements the interface typeECPrivateKey
for EC operations over fields of characteristic 2 with polynomial basis.static byte
TYPE_EC_F2M_PRIVATE_TRANSIENT_DESELECT
Key object which implements the interface typeECPrivateKey
for EC operations over fields of characteristic 2 with polynomial basis, with CLEAR_ON_DESELECT transient key data.static byte
TYPE_EC_F2M_PRIVATE_TRANSIENT_RESET
Key object which implements the interface typeECPrivateKey
for EC operations over fields of characteristic 2 with polynomial basis, with CLEAR_ON_RESET transient key data.static byte
TYPE_EC_F2M_PUBLIC
Key object which implements the interface typeECPublicKey
for EC operations over fields of characteristic 2 with polynomial basis.static byte
TYPE_EC_FP_PARAMETERS
Key
object used to provide domain parameter inbuildKeyWithSharedDomain(byte, byte, Key, boolean)
.static byte
TYPE_EC_FP_PRIVATE
Key object which implements the interface typeECPrivateKey
for EC operations over large prime fields.static byte
TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT
Key object which implements the interface typeECPrivateKey
for EC operations over large prime fields, with CLEAR_ON_DESELECT transient key data.static byte
TYPE_EC_FP_PRIVATE_TRANSIENT_RESET
Key object which implements the interface typeECPrivateKey
for EC operations over large prime fields, with CLEAR_ON_RESET transient key data.static byte
TYPE_EC_FP_PUBLIC
Key object which implements the interface typeECPublicKey
for EC operations over large prime fields.static byte
TYPE_GENERIC_SECRET
Key
object which implements interface typeGenericSecretKey
.static byte
TYPE_HMAC
Key
object which implements interface typeHMACKey
with persistent key data.static byte
TYPE_HMAC_TRANSIENT_DESELECT
Key
object which implements interface typeHMACKey
with CLEAR_ON_DESELECT transient key data.static byte
TYPE_HMAC_TRANSIENT_RESET
Key
object which implements interface typeHMACKey
with CLEAR_ON_RESET transient key data.static byte
TYPE_KOREAN_SEED
Key
object which implements interface typeKoreanSEEDKey
with persistent key data.static byte
TYPE_KOREAN_SEED_TRANSIENT_DESELECT
Key
object which implements interface typeKoreanSEEDKey
with CLEAR_ON_DESELECT transient key data.static byte
TYPE_KOREAN_SEED_TRANSIENT_RESET
Key
object which implements interface typeKoreanSEEDKey
with CLEAR_ON_RESET transient key data.static byte
TYPE_RSA_CRT_PRIVATE
Key
object which implements interface typeRSAPrivateCrtKey
which uses Chinese Remainder Theorem.static byte
TYPE_RSA_CRT_PRIVATE_TRANSIENT_DESELECT
Key
object which implements interface typeRSAPrivateCrtKey
which uses Chinese Remainder Theorem, with CLEAR_ON_DESELECT transient key data.static byte
TYPE_RSA_CRT_PRIVATE_TRANSIENT_RESET
Key
object which implements interface typeRSAPrivateCrtKey
which uses Chinese Remainder Theorem, with CLEAR_ON_RESET transient key data.static byte
TYPE_RSA_PRIVATE
Key
object which implements interface typeRSAPrivateKey
which uses modulus/exponent form.static byte
TYPE_RSA_PRIVATE_TRANSIENT_DESELECT
Key
object which implements interface typeRSAPrivateKey
which uses modulus/exponent form, with CLEAR_ON_DESELECT transient key data.static byte
TYPE_RSA_PRIVATE_TRANSIENT_RESET
Key
object which implements interface typeRSAPrivateKey
which uses modulus/exponent form, with CLEAR_ON_RESET transient key data.static byte
TYPE_RSA_PUBLIC
Key
object which implements interface typeRSAPublicKey
.static byte
TYPE_SM4
Key
object which implements interface typeSM4Key
.static byte
TYPE_XEC
ExtendedKey
object which implements the interface typeXECKey
.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Key
buildKey(byte algorithmicKeyType, byte keyMemoryType, short keyLength, boolean keyEncryption)
Creates uninitialized cryptographic keys for signature and cipher algorithms.static Key
buildKey(byte keyType, short keyLength, boolean keyEncryption)
Creates uninitialized cryptographic keys for signature and cipher algorithms.static Key
buildKeyWithSharedDomain(byte algorithmicKeyType, byte keyMemoryType, Key domainParameters, boolean keyEncryption)
Creates cryptographic keys for signature and key agreement algorithms.static Key
buildXECKey(NamedParameterSpec params, short attributes, boolean keyEncryption)
Creates uninitialized cryptographic keys for named curves with predefined elliptic curve domain parameters.static byte
getMemoryType(Key key)
Get the memory type of the specified key.
-
-
-
Field Detail
-
TYPE_DES_TRANSIENT_RESET
public static final byte TYPE_DES_TRANSIENT_RESET
Key
object which implements interface typeDESKey
with CLEAR_ON_RESET transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_DES_TRANSIENT_DESELECT
public static final byte TYPE_DES_TRANSIENT_DESELECT
Key
object which implements interface typeDESKey
with CLEAR_ON_DESELECT transient key data.This
Key
object implicitly performs aclearKey()
on power on, card reset and applet deselection.- See Also:
- Constant Field Values
-
TYPE_DES
public static final byte TYPE_DES
Key
object which implements interface typeDESKey
with persistent key data.- See Also:
- Constant Field Values
-
TYPE_RSA_PUBLIC
public static final byte TYPE_RSA_PUBLIC
Key
object which implements interface typeRSAPublicKey
.- See Also:
- Constant Field Values
-
TYPE_RSA_PRIVATE
public static final byte TYPE_RSA_PRIVATE
Key
object which implements interface typeRSAPrivateKey
which uses modulus/exponent form.- See Also:
- Constant Field Values
-
TYPE_RSA_CRT_PRIVATE
public static final byte TYPE_RSA_CRT_PRIVATE
Key
object which implements interface typeRSAPrivateCrtKey
which uses Chinese Remainder Theorem.- See Also:
- Constant Field Values
-
TYPE_DSA_PUBLIC
public static final byte TYPE_DSA_PUBLIC
Key
object which implements the interface typeDSAPublicKey
for the DSA algorithm.- See Also:
- Constant Field Values
-
TYPE_DSA_PRIVATE
public static final byte TYPE_DSA_PRIVATE
Key
object which implements the interface typeDSAPrivateKey
for the DSA algorithm.- See Also:
- Constant Field Values
-
TYPE_EC_F2M_PUBLIC
public static final byte TYPE_EC_F2M_PUBLIC
Key object which implements the interface typeECPublicKey
for EC operations over fields of characteristic 2 with polynomial basis.- See Also:
- Constant Field Values
-
TYPE_EC_F2M_PRIVATE
public static final byte TYPE_EC_F2M_PRIVATE
Key object which implements the interface typeECPrivateKey
for EC operations over fields of characteristic 2 with polynomial basis.- See Also:
- Constant Field Values
-
TYPE_EC_FP_PUBLIC
public static final byte TYPE_EC_FP_PUBLIC
Key object which implements the interface typeECPublicKey
for EC operations over large prime fields.- See Also:
- Constant Field Values
-
TYPE_EC_FP_PRIVATE
public static final byte TYPE_EC_FP_PRIVATE
Key object which implements the interface typeECPrivateKey
for EC operations over large prime fields.- See Also:
- Constant Field Values
-
TYPE_AES_TRANSIENT_RESET
public static final byte TYPE_AES_TRANSIENT_RESET
Key
object which implements interface typeAESKey
with CLEAR_ON_RESET transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_AES_TRANSIENT_DESELECT
public static final byte TYPE_AES_TRANSIENT_DESELECT
Key
object which implements interface typeAESKey
with CLEAR_ON_DESELECT transient key data.This
Key
object implicitly performs aclearKey()
on power on, card reset and applet deselection.- See Also:
- Constant Field Values
-
TYPE_AES
public static final byte TYPE_AES
Key
object which implements interface typeAESKey
with persistent key data.- See Also:
- Constant Field Values
-
TYPE_KOREAN_SEED_TRANSIENT_RESET
public static final byte TYPE_KOREAN_SEED_TRANSIENT_RESET
Key
object which implements interface typeKoreanSEEDKey
with CLEAR_ON_RESET transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_KOREAN_SEED_TRANSIENT_DESELECT
public static final byte TYPE_KOREAN_SEED_TRANSIENT_DESELECT
Key
object which implements interface typeKoreanSEEDKey
with CLEAR_ON_DESELECT transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_KOREAN_SEED
public static final byte TYPE_KOREAN_SEED
Key
object which implements interface typeKoreanSEEDKey
with persistent key data.- See Also:
- Constant Field Values
-
TYPE_HMAC_TRANSIENT_RESET
public static final byte TYPE_HMAC_TRANSIENT_RESET
Key
object which implements interface typeHMACKey
with CLEAR_ON_RESET transient key data.This
Key
object implicitly performs aclearKey()
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:
- Constant Field Values
-
TYPE_HMAC_TRANSIENT_DESELECT
public static final byte TYPE_HMAC_TRANSIENT_DESELECT
Key
object which implements interface typeHMACKey
with CLEAR_ON_DESELECT transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_HMAC
public static final byte TYPE_HMAC
Key
object which implements interface typeHMACKey
with persistent key data.- See Also:
- Constant Field Values
-
TYPE_RSA_PRIVATE_TRANSIENT_RESET
public static final byte TYPE_RSA_PRIVATE_TRANSIENT_RESET
Key
object which implements interface typeRSAPrivateKey
which uses modulus/exponent form, with CLEAR_ON_RESET transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_RSA_PRIVATE_TRANSIENT_DESELECT
public static final byte TYPE_RSA_PRIVATE_TRANSIENT_DESELECT
Key
object which implements interface typeRSAPrivateKey
which uses modulus/exponent form, with CLEAR_ON_DESELECT transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_RSA_CRT_PRIVATE_TRANSIENT_RESET
public static final byte TYPE_RSA_CRT_PRIVATE_TRANSIENT_RESET
Key
object which implements interface typeRSAPrivateCrtKey
which uses Chinese Remainder Theorem, with CLEAR_ON_RESET transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_RSA_CRT_PRIVATE_TRANSIENT_DESELECT
public static final byte TYPE_RSA_CRT_PRIVATE_TRANSIENT_DESELECT
Key
object which implements interface typeRSAPrivateCrtKey
which uses Chinese Remainder Theorem, with CLEAR_ON_DESELECT transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_DSA_PRIVATE_TRANSIENT_RESET
public static final byte TYPE_DSA_PRIVATE_TRANSIENT_RESET
Key
object which implements the interface typeDSAPrivateKey
for the DSA algorithm, with CLEAR_ON_RESET transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_DSA_PRIVATE_TRANSIENT_DESELECT
public static final byte TYPE_DSA_PRIVATE_TRANSIENT_DESELECT
Key
object which implements the interface typeDSAPrivateKey
for the DSA algorithm, with CLEAR_ON_DESELECT transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_EC_F2M_PRIVATE_TRANSIENT_RESET
public static final byte TYPE_EC_F2M_PRIVATE_TRANSIENT_RESET
Key object which implements the interface typeECPrivateKey
for EC operations over fields of characteristic 2 with polynomial basis, with CLEAR_ON_RESET transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_EC_F2M_PRIVATE_TRANSIENT_DESELECT
public static final byte TYPE_EC_F2M_PRIVATE_TRANSIENT_DESELECT
Key object which implements the interface typeECPrivateKey
for EC operations over fields of characteristic 2 with polynomial basis, with CLEAR_ON_DESELECT transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_EC_FP_PRIVATE_TRANSIENT_RESET
public static final byte TYPE_EC_FP_PRIVATE_TRANSIENT_RESET
Key object which implements the interface typeECPrivateKey
for EC operations over large prime fields, with CLEAR_ON_RESET transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT
public static final byte TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT
Key object which implements the interface typeECPrivateKey
for EC operations over large prime fields, with CLEAR_ON_DESELECT transient key data.This
Key
object implicitly performs aclearKey()
on power on or card reset.- See Also:
- Constant Field Values
-
TYPE_DH_PUBLIC
public static final byte TYPE_DH_PUBLIC
Key object which implements the interface typeDHPublicKey
for DH operations.- See Also:
- Constant Field Values
-
TYPE_DH_PUBLIC_TRANSIENT_DESELECT
public static final byte TYPE_DH_PUBLIC_TRANSIENT_DESELECT
Key object which implements the interface typeDHPublicKey
for DH operations, . ThisKey
object implicitly performs aclearKey()
on applet deselection, card power on or card reset.- See Also:
- Constant Field Values
-
TYPE_DH_PUBLIC_TRANSIENT_RESET
public static final byte TYPE_DH_PUBLIC_TRANSIENT_RESET
Key object which implements the interface typeDHPublicKey
for DH operations. ThisKey
object implicitly performs aclearKey()
on card power on or card reset.- See Also:
- Constant Field Values
-
TYPE_DH_PRIVATE
public static final byte TYPE_DH_PRIVATE
Key object which implements the interface typeDHPrivateKey
for DH operations.- See Also:
- Constant Field Values
-
TYPE_DH_PRIVATE_TRANSIENT_DESELECT
public static final byte TYPE_DH_PRIVATE_TRANSIENT_DESELECT
Key object which implements the interface typeDHPrivateKey
for DH operations, . ThisKey
object implicitly performs aclearKey()
on applet deselection, card power on or card reset.- See Also:
- Constant Field Values
-
TYPE_DH_PRIVATE_TRANSIENT_RESET
public static final byte TYPE_DH_PRIVATE_TRANSIENT_RESET
Key object which implements the interface typeDHPrivateKey
for DH operations. ThisKey
object implicitly performs aclearKey()
on card power on or card reset.- See Also:
- Constant Field Values
-
TYPE_DH_PARAMETERS
public static final byte TYPE_DH_PARAMETERS
Key
object used to provide domain parameter inbuildKeyWithSharedDomain(byte, byte, Key, boolean)
. as Such instances implement the interface typesDHKey
andKey
- Since:
- 3.1
- See Also:
- Constant Field Values
-
TYPE_DSA_PARAMETERS
public static final byte TYPE_DSA_PARAMETERS
Key
object used to provide domain parameter inbuildKeyWithSharedDomain(byte, byte, Key, boolean)
. as Such instances implement the interface typesDSAKey
andKey
- Since:
- 3.1
- See Also:
- Constant Field Values
-
TYPE_EC_F2M_PARAMETERS
public static final byte TYPE_EC_F2M_PARAMETERS
Key
object used to provide domain parameter inbuildKeyWithSharedDomain(byte, byte, Key, boolean)
. as Such instances implement the interface typesECKey
andKey
- Since:
- 3.1
- See Also:
- Constant Field Values
-
TYPE_EC_FP_PARAMETERS
public static final byte TYPE_EC_FP_PARAMETERS
Key
object used to provide domain parameter inbuildKeyWithSharedDomain(byte, byte, Key, boolean)
. as Such instances implement the interface typesECKey
andKey
- Since:
- 3.1
- See Also:
- Constant Field Values
-
TYPE_GENERIC_SECRET
public static final byte TYPE_GENERIC_SECRET
Key
object which implements interface typeGenericSecretKey
.- Since:
- 3.1
- See Also:
- Constant Field Values
-
TYPE_SM4
public static final byte TYPE_SM4
Key
object which implements interface typeSM4Key
.- Since:
- 3.1
- See Also:
- Constant Field Values
-
TYPE_XEC
public static final byte TYPE_XEC
ExtendedKey
object which implements the interface typeXECKey
.This constant is returned when calling
Key.getType()
on an extended key created usingbuildXECKey()
method. It cannot be used to instantiate a new key usingbuildKey()
.- Since:
- 3.1
- See Also:
buildXECKey(NamedParameterSpec, short, boolean)
, Constant Field Values
-
ALG_TYPE_DES
public static final byte ALG_TYPE_DES
Algorithmic key typeALG_TYPE_DES
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeDESKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_AES
public static final byte ALG_TYPE_AES
Algorithmic key typeALG_TYPE_AES
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeAESKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_DSA_PUBLIC
public static final byte ALG_TYPE_DSA_PUBLIC
Algorithmic key typeALG_TYPE_DSA_PUBLIC
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeDSAPublicKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_DSA_PRIVATE
public static final byte ALG_TYPE_DSA_PRIVATE
Algorithmic key typeALG_TYPE_DSA_PRIVATE
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeDSAPrivateKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_EC_F2M_PUBLIC
public static final byte ALG_TYPE_EC_F2M_PUBLIC
Algorithmic key typeALG_TYPE_EC_F2M_PUBLIC
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeECPublicKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_EC_F2M_PRIVATE
public static final byte ALG_TYPE_EC_F2M_PRIVATE
Algorithmic key typeALG_TYPE_EC_F2M_PRIVATE
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeECPrivateKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_EC_FP_PUBLIC
public static final byte ALG_TYPE_EC_FP_PUBLIC
Algorithmic key typeALG_TYPE_EC_FP_PUBLIC
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeECPublicKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_EC_FP_PRIVATE
public static final byte ALG_TYPE_EC_FP_PRIVATE
Algorithmic key typeALG_TYPE_EC_FP_PRIVATE
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeECPrivateKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_HMAC
public static final byte ALG_TYPE_HMAC
Algorithmic key typeALG_TYPE_HMAC
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeHMACKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_KOREAN_SEED
public static final byte ALG_TYPE_KOREAN_SEED
Algorithmic key typeALG_TYPE_KOREAN_SEED
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeKoreanSEEDKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_RSA_PUBLIC
public static final byte ALG_TYPE_RSA_PUBLIC
Algorithmic key typeALG_TYPE_RSA_PUBLIC
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeRSAPublicKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_RSA_PRIVATE
public static final byte ALG_TYPE_RSA_PRIVATE
Algorithmic key typeALG_TYPE_RSA_PRIVATE
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeRSAPrivateKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_RSA_CRT_PRIVATE
public static final byte ALG_TYPE_RSA_CRT_PRIVATE
Algorithmic key typeALG_TYPE_RSA_CRT_PRIVATE
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeRSAPrivateCrtKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_DH_PUBLIC
public static final byte ALG_TYPE_DH_PUBLIC
Algorithmic key typeALG_TYPE_DH_PUBLIC
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeDSAPublicKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_DH_PRIVATE
public static final byte ALG_TYPE_DH_PRIVATE
Algorithmic key typeALG_TYPE_DH_PRIVATE
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeDSAPrivateKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_EC_F2M_PARAMETERS
public static final byte ALG_TYPE_EC_F2M_PARAMETERS
Algorithmic key typeALG_TYPE_EC_F2M_PARAMETERS
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typesECKey
andKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_EC_FP_PARAMETERS
public static final byte ALG_TYPE_EC_FP_PARAMETERS
Algorithmic key typeALG_TYPE_EC_FP_PARAMETERS
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typesECKey
andKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_DSA_PARAMETERS
public static final byte ALG_TYPE_DSA_PARAMETERS
Algorithmic key typeALG_TYPE_DSA_PARAMETERS
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typesDSAKey
andKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_DH_PARAMETERS
public static final byte ALG_TYPE_DH_PARAMETERS
Algorithmic key typeALG_TYPE_DH_PARAMETERS
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typesDHKey
andKey
.- See Also:
- Constant Field Values
-
ALG_TYPE_GENERIC_SECRET
public static final byte ALG_TYPE_GENERIC_SECRET
Algorithmic key typeALG_GENERIC_SECRET
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeGenericSecretKey
.- Since:
- 3.1
- See Also:
- Constant Field Values
-
ALG_TYPE_SM4
public static final byte ALG_TYPE_SM4
Algorithmic key typeALG_SM4
choice for thealgorithmicKeyType
parameter of thebuildKey(byte, byte, short, boolean)
method. The key instance created implements the interface typeSM4Key
.- Since:
- 3.1
- See Also:
- Constant Field Values
-
LENGTH_DES
public static final short LENGTH_DES
DES Key LengthLENGTH_DES
= 64.- See Also:
- Constant Field Values
-
LENGTH_DES3_2KEY
public static final short LENGTH_DES3_2KEY
DES Key LengthLENGTH_DES3_2KEY
for triple DES algorithm = 128.- See Also:
- Constant Field Values
-
LENGTH_DES3_3KEY
public static final short LENGTH_DES3_3KEY
DES Key LengthLENGTH_DES3_3KEY
for triple DES algorithm = 192.- See Also:
- Constant Field Values
-
LENGTH_RSA_512
public static final short LENGTH_RSA_512
RSA Key LengthLENGTH_RSA_512
= 512.- See Also:
- Constant Field Values
-
LENGTH_RSA_736
public static final short LENGTH_RSA_736
RSA Key LengthLENGTH_RSA_736
= 736.- See Also:
- Constant Field Values
-
LENGTH_RSA_768
public static final short LENGTH_RSA_768
RSA Key LengthLENGTH_RSA_768
= 768.- See Also:
- Constant Field Values
-
LENGTH_RSA_896
public static final short LENGTH_RSA_896
RSA Key LengthLENGTH_RSA_896
= 896.- See Also:
- Constant Field Values
-
LENGTH_RSA_1024
public static final short LENGTH_RSA_1024
RSA Key LengthLENGTH_RSA_1024
= 1024.- See Also:
- Constant Field Values
-
LENGTH_RSA_1280
public static final short LENGTH_RSA_1280
RSA Key LengthLENGTH_RSA_1280
= 1280.- See Also:
- Constant Field Values
-
LENGTH_RSA_1536
public static final short LENGTH_RSA_1536
RSA Key LengthLENGTH_RSA_1536
= 1536.- See Also:
- Constant Field Values
-
LENGTH_RSA_1984
public static final short LENGTH_RSA_1984
RSA Key LengthLENGTH_RSA_1984
= 1984.- See Also:
- Constant Field Values
-
LENGTH_RSA_2048
public static final short LENGTH_RSA_2048
RSA Key LengthLENGTH_RSA_2048
= 2048.- See Also:
- Constant Field Values
-
LENGTH_RSA_3072
public static final short LENGTH_RSA_3072
RSA Key LengthLENGTH_RSA_3072
= 3072.- Since:
- 3.0.5
- See Also:
- Constant Field Values
-
LENGTH_RSA_4096
public static final short LENGTH_RSA_4096
RSA Key LengthLENGTH_RSA_4096
= 4096.- See Also:
- Constant Field Values
-
LENGTH_DSA_512
public static final short LENGTH_DSA_512
DSA Key LengthLENGTH_DSA_512
= 512.- See Also:
- Constant Field Values
-
LENGTH_DSA_768
public static final short LENGTH_DSA_768
DSA Key LengthLENGTH_DSA_768
= 768.- See Also:
- Constant Field Values
-
LENGTH_DSA_1024
public static final short LENGTH_DSA_1024
DSA Key LengthLENGTH_DSA_1024
= 1024.- See Also:
- Constant Field Values
-
LENGTH_EC_FP_112
public static final short LENGTH_EC_FP_112
EC Key LengthLENGTH_EC_FP_112
= 112.- See Also:
- Constant Field Values
-
LENGTH_EC_F2M_113
public static final short LENGTH_EC_F2M_113
EC Key LengthLENGTH_EC_F2M_113
= 113.- See Also:
- Constant Field Values
-
LENGTH_EC_FP_128
public static final short LENGTH_EC_FP_128
EC Key LengthLENGTH_EC_FP_128
= 128.- See Also:
- Constant Field Values
-
LENGTH_EC_F2M_131
public static final short LENGTH_EC_F2M_131
EC Key LengthLENGTH_EC_F2M_131
= 131.- See Also:
- Constant Field Values
-
LENGTH_EC_FP_160
public static final short LENGTH_EC_FP_160
EC Key LengthLENGTH_EC_FP_160
= 160.- See Also:
- Constant Field Values
-
LENGTH_EC_F2M_163
public static final short LENGTH_EC_F2M_163
EC Key LengthLENGTH_EC_F2M_163
= 163.- See Also:
- Constant Field Values
-
LENGTH_EC_FP_192
public static final short LENGTH_EC_FP_192
EC Key LengthLENGTH_EC_FP_192
= 192.- See Also:
- Constant Field Values
-
LENGTH_EC_F2M_193
public static final short LENGTH_EC_F2M_193
EC Key LengthLENGTH_EC_F2M_193
= 193.- See Also:
- Constant Field Values
-
LENGTH_EC_FP_224
public static final short LENGTH_EC_FP_224
EC Key LengthLENGTH_EC_FP_224
= 224.- See Also:
- Constant Field Values
-
LENGTH_EC_FP_256
public static final short LENGTH_EC_FP_256
EC Key LengthLENGTH_EC_FP_256
= 256.- See Also:
- Constant Field Values
-
LENGTH_EC_FP_384
public static final short LENGTH_EC_FP_384
EC Key LengthLENGTH_EC_FP_384
= 384.- See Also:
- Constant Field Values
-
LENGTH_EC_FP_521
public static final short LENGTH_EC_FP_521
EC Key LengthLENGTH_EC_FP_521
= 521.- See Also:
- Constant Field Values
-
LENGTH_AES_128
public static final short LENGTH_AES_128
AES Key LengthLENGTH_AES_128
= 128.- See Also:
- Constant Field Values
-
LENGTH_AES_192
public static final short LENGTH_AES_192
AES Key LengthLENGTH_AES_192
= 192.- See Also:
- Constant Field Values
-
LENGTH_AES_256
public static final short LENGTH_AES_256
AES Key LengthLENGTH_AES_256
= 256.- See Also:
- Constant Field Values
-
LENGTH_AES_512
public static final short LENGTH_AES_512
AES Key LengthLENGTH_AES_512
= 512. This key length must be used to create keys made of two AES-256 sub-keys as required for some algorithms- Since:
- 3.1
- See Also:
Cipher.CIPHER_AES_XTS
, Constant Field Values
-
LENGTH_KOREAN_SEED_128
public static final short LENGTH_KOREAN_SEED_128
Korean Seed Key LengthLENGTH_KOREAN_SEED_128
= 128.- See Also:
- Constant Field Values
-
LENGTH_HMAC_SHA_1_BLOCK_64
public static final short LENGTH_HMAC_SHA_1_BLOCK_64
HMAC-SHA-1 block lengthLENGTH_HMAC_SHA_1_BLOCK_64
= 64 expressed in bytes.Note: This constant should not be used to create an HMAC key which can be of any length and must be expressed in bits within
buildKey(byte, short, boolean)
orbuildKey(byte, byte, short, boolean)
methods.- See Also:
- Constant Field Values
-
LENGTH_HMAC_SHA_256_BLOCK_64
public static final short LENGTH_HMAC_SHA_256_BLOCK_64
HMAC-SHA-256 block lengthLENGTH_HMAC_SHA_256_BLOCK_64
= 64 expressed in bytes.Note: This constant should not be used to create an HMAC key which can be of any length and must be expressed in bits within
buildKey(byte, short, boolean)
orbuildKey(byte, byte, short, boolean)
methods.- See Also:
- Constant Field Values
-
LENGTH_HMAC_SHA_384_BLOCK_128
public static final short LENGTH_HMAC_SHA_384_BLOCK_128
HMAC-SHA-384 block lengthLENGTH_HMAC_SHA_384_BLOCK_128
= 128 expressed in bytes.Note: This constant should not be used to create an HMAC key which can be of any length and must be expressed in bits within
buildKey(byte, short, boolean)
orbuildKey(byte, byte, short, boolean)
methods.- See Also:
- Constant Field Values
-
LENGTH_HMAC_SHA_512_BLOCK_128
public static final short LENGTH_HMAC_SHA_512_BLOCK_128
HMAC-SHA-512 block lengthLENGTH_HMAC_SHA_512_BLOCK_128
= 128 expressed in bytes.Note: This constant should not be used to create an HMAC key which can be of any length and must be expressed in bits within
buildKey(byte, short, boolean)
orbuildKey(byte, byte, short, boolean)
methods.- See Also:
- Constant Field Values
-
LENGTH_DH_1024
public static final short LENGTH_DH_1024
DH Key LengthLENGTH_DH_1024
= 1024.- See Also:
- Constant Field Values
-
LENGTH_DH_2048
public static final short LENGTH_DH_2048
DH Key LengthLENGTH_DH_2048
= 2048.- See Also:
- Constant Field Values
-
LENGTH_SM4
public static final short LENGTH_SM4
SM4 Key LengthLENGTH_SM4
= 128.- Since:
- 3.1
- See Also:
- Constant Field Values
-
ATTR_PUBLIC
public static final short ATTR_PUBLIC
Key attribute used to create a newXECPublicKey
instance.
-
ATTR_PRIVATE
public static final short ATTR_PRIVATE
Key attribute used to create a newXECPrivateKey
instance.
-
-
Method Detail
-
buildKey
public static Key buildKey(byte keyType, short keyLength, boolean keyEncryption) throws 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 ofSignature
,Cipher
andKeyPair
. 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 inTYPE_*
constants, for exampleTYPE_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 theLENGTH_*
constants, for exampleLENGTH_DES
.keyEncryption
- iftrue
this boolean requests a key implementation which implements thejavacardx.crypto.KeyEncryption
interface. The key implementation returned may implement thejavacardx.crypto.KeyEncryption
interface even when this parameter isfalse
.- Returns:
- the key object instance of the requested key type, length and encrypted access
- Throws:
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.
- See Also:
buildKey(byte, byte, short, boolean)
-
buildXECKey
public static Key buildXECKey(NamedParameterSpec params, short attributes, boolean keyEncryption) throws CryptoException
Creates uninitialized cryptographic keys for named curves with predefined elliptic curve domain parameters. Instances created are either implementing theXECPublicKey
interface or theXECPrivateKey
interface and can be used to initialize instances ofSignature
,Cipher
,KeyPair
orKeyAgreement
.Example:
NamedParameterSpec x25519 = NamedParameterSpec.getInstance(X25519); XECPrivateKey k = KeyBuilder.buildXECKey(x25519, (short)(MEMORY_TYPE_PERSISTENT|ATTR_PRIVATE), false);
- Parameters:
params
- named parameters defining the curve domain parametersattributes
- the key attributes. Use bitwiseOR
to select relevant attributes- type of memory for key data storage: use
JCSystem.MEMORY_TYPE_*
constants, for exampleMEMORY_TYPE_PERSISTENT
. - Asymmetric key type:
ATTR_PUBLIC
orATTR_PRIVATE
. The created key will respectively implementsXECPublicKey interface
orXECPrivateKey interface
- type of memory for key data storage: use
keyEncryption
- iftrue
this boolean requests a key implementation which implements thejavacardx.crypto.KeyEncryption
interface. The key implementation returned may implement thejavacardx.crypto.KeyEncryption
interface even when this parameter isfalse
.- Returns:
- the key object instance of the requested algorithmic key type, key memory storage type, key length and encrypted access required
- Throws:
CryptoException
- with the following reason codes:CryptoException.NO_SUCH_ALGORITHM
if the requested algorithm associated with the specified algorithmic type, or memory storage type for key, or size of key or key encryption interface requested is not supported.
- Since:
- 3.1
- See Also:
buildKey(byte, short, boolean)
-
buildKey
public static Key buildKey(byte algorithmicKeyType, byte keyMemoryType, short keyLength, boolean keyEncryption) throws 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 ofSignature
,Cipher
andKeyPair
. Note that the object returned must be cast to their appropriate key type interface.- Parameters:
algorithmicKeyType
- the type of key and algorithm to be generated. Valid codes listed inALG_TYPE_*
constants, for exampleALG_TYPE_DES
.keyMemoryType
- the type of memory for key data storage. Valid codes listed inJCSystem.MEMORY_TYPE_*
constants, for exampleMEMORY_TYPE_PERSISTENT
.keyLength
- the key size in bits. The valid key bit lengths are key type dependent. Some common key lengths are listed above above in theLENGTH_*
constants, for exampleLENGTH_DES
.keyEncryption
- iftrue
this boolean requests a key implementation which implements thejavacardx.crypto.KeyEncryption
interface. The key implementation returned may implement thejavacardx.crypto.KeyEncryption
interface even when this parameter isfalse
.- Returns:
- the key object instance of the requested algorithmic key type, key memory storage type, key length and encrypted access required
- Throws:
CryptoException
- with the following reason codes:CryptoException.NO_SUCH_ALGORITHM
if the requested algorithm associated with the specified algorithmic type, or memory storage type for key, or size of key or key encryption interface requested is not supported.
- Since:
- 3.0.4
- See Also:
buildKey(byte, short, boolean)
-
getMemoryType
public static byte getMemoryType(Key key)
Get the memory type of the specified key. It corresponds to the memory type specified when building the key withbuildKey(byte, byte, short, boolean)
and used to store key material- Parameters:
key
- the key instance to query- Returns:
- the memory type of the key
- Since:
- 3.1
- See Also:
JCSystem.MEMORY_TYPE_PERSISTENT
,JCSystem.MEMORY_TYPE_TRANSIENT_RESET
,JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT
-
buildKeyWithSharedDomain
public static Key buildKeyWithSharedDomain(byte algorithmicKeyType, byte keyMemoryType, Key domainParameters, boolean keyEncryption) throws CryptoException
Creates cryptographic keys for signature and key agreement algorithms. Only instances created by this method may be the key objects used to initialize instances ofSignature
,KeyAgreement
andKeyPair
. Note that the object returned must be cast to their appropriate key type interface.The domain parameters object in the
domainParameters
argument is shared with other keys created using the same parameter argument. This means that any changes to the shared parameters - by calling one of the setter methods - will be reflected within the other keys sharing these parameters.The domainParameters argument must be a special parameters object. Parameter objects can be created created using key algorithm types which are suffixed with _PARAMETERS using the
buildKey(byte, byte, short, boolean)
method. The key value, such as the secret S or the public point W for an EC Key, or X or Y for DH and DSA Key will never be shared. The key size is determined by information contained in thedomainParameters
argument.- Parameters:
algorithmicKeyType
- the type of key and algorithm to be generated. Valid codes listed inALG_TYPE_*
constants, for exampleALG_TYPE_EC_F2M_PUBLIC
.keyMemoryType
- the type of memory for key data storage. Valid codes listed inJCSystem.MEMORY_TYPE_*
constants, for exampleMEMORY_TYPE_PERSISTENT
.domainParameters
- a special parameters object containing domain parameters. Parameter objects can be created created using key types which are suffixed with _PARAMETERSkeyEncryption
- iftrue
this boolean requests a key implementation which implements thejavacardx.crypto.KeyEncryption
interface. The key implementation returned may implement thejavacardx.crypto.KeyEncryption
interface even when this parameter isfalse
.- Returns:
- the key object instance of the requested key type, length and encrypted access
- Throws:
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.
-
-