AES key API.
More...
Go to the source code of this file.
|
| enum | zpc_aessecret_type_t {
ZPC_AES_SECRET_TYPE_NOT_SET = -2
, ZPC_AES_SECRET_TYPE_INVALID = -1
, ZPC_AES_SECRET_AES_128 = 0x04
, ZPC_AES_SECRET_AES_192 = 0x05
,
ZPC_AES_SECRET_AES_256 = 0x06
} |
|
| int | zpc_aes_key_alloc (struct zpc_aes_key **key) |
| int | zpc_aes_key_set_size (struct zpc_aes_key *key, int size) |
| int | zpc_aes_key_set_type (struct zpc_aes_key *key, int type) |
| int | zpc_aes_key_set_flags (struct zpc_aes_key *key, unsigned int flags) |
| int | zpc_aes_key_set_mkvp (struct zpc_aes_key *key, const char *mkvp) |
| int | zpc_aes_key_set_apqns (struct zpc_aes_key *key, const char *apqns[]) |
| int | zpc_aes_key_import (struct zpc_aes_key *key, const unsigned char *seckey, size_t seckeylen) |
| int | zpc_aes_key_import_clear (struct zpc_aes_key *key, const unsigned char *clrkey) |
| int | zpc_aes_key_export (struct zpc_aes_key *key, unsigned char *seckey, size_t *seckeylen) |
| int | zpc_aes_key_generate (struct zpc_aes_key *key) |
| int | zpc_aes_key_reencipher (struct zpc_aes_key *key, int reenc) |
| void | zpc_aes_key_free (struct zpc_aes_key **key) |
AES key API.
Manage advanced Encryption Standard (AES) block cipher [1] keys.
Definition in file aes_key.h.
◆ ZPC_AES_KEY_TYPE_CCA_DATA
| #define ZPC_AES_KEY_TYPE_CCA_DATA 1 |
◆ ZPC_AES_KEY_TYPE_CCA_CIPHER
| #define ZPC_AES_KEY_TYPE_CCA_CIPHER 2 |
◆ ZPC_AES_KEY_TYPE_EP11
| #define ZPC_AES_KEY_TYPE_EP11 3 |
◆ ZPC_AES_KEY_TYPE_PVSECRET
| #define ZPC_AES_KEY_TYPE_PVSECRET 9 |
◆ ZPC_AES_KEY_REENCIPHER_OLD_TO_CURRENT
| #define ZPC_AES_KEY_REENCIPHER_OLD_TO_CURRENT 1 |
◆ ZPC_AES_KEY_REENCIPHER_CURRENT_TO_NEW
| #define ZPC_AES_KEY_REENCIPHER_CURRENT_TO_NEW 2 |
◆ zpc_aessecret_type_t
| enum zpc_aessecret_type_t |
◆ zpc_aes_key_alloc()
| int zpc_aes_key_alloc |
( |
struct zpc_aes_key ** | key | ) |
|
Allocate a new AES key object with reference count 1.
- Parameters
-
- Returns
- 0 on success. Otherwise, a non-zero error code is returned.
◆ zpc_aes_key_set_size()
| int zpc_aes_key_set_size |
( |
struct zpc_aes_key * | key, |
|
|
int | size ) |
Set the AES key size.
- Parameters
-
| [in,out] | key | AES key |
| [in] | size | 128, 192 or 256 bit key size |
- Returns
- 0 on success. Otherwise, a non-zero error code is returned.
◆ zpc_aes_key_set_type()
| int zpc_aes_key_set_type |
( |
struct zpc_aes_key * | key, |
|
|
int | type ) |
Set the AES key type.
- Parameters
-
| [in,out] | key | AES key |
| [in] | type | ZPC_AES_KEY_TYPE_CCA_DATA, ZPC_AES_KEY_TYPE_CCA_CIPHER, ZPC_AES_KEY_TYPE_EP11, or ZPC_AES_KEY_TYPE_PVSECRET |
- Returns
- 0 on success. Otherwise, a non-zero error code is returned.
◆ zpc_aes_key_set_flags()
| int zpc_aes_key_set_flags |
( |
struct zpc_aes_key * | key, |
|
|
unsigned int | flags ) |
Set the AES key flags.
- Parameters
-
| [in,out] | key | AES key |
| [in] | flags | key flags |
- Returns
- 0 on success. Otherwise, a non-zero error code is returned.
◆ zpc_aes_key_set_mkvp()
| int zpc_aes_key_set_mkvp |
( |
struct zpc_aes_key * | key, |
|
|
const char * | mkvp ) |
Set the AES key Master Key Verification Pattern.
- Parameters
-
| [in,out] | key | AES key |
| [in] | mkvp | master key verification pattern This function has no effect for keys of type PVSECRET. |
- Returns
- 0 on success. Otherwise, a non-zero error code is returned.
◆ zpc_aes_key_set_apqns()
| int zpc_aes_key_set_apqns |
( |
struct zpc_aes_key * | key, |
|
|
const char * | apqns[] ) |
Set the AES key APQNs
- Parameters
-
| [in,out] | key | AES key |
| [in] | apqns | NULL-terminated APQN list This function has no effect for keys of type PVSECRET. |
- Returns
- 0 on success. Otherwise, a non-zero error code is returned.
◆ zpc_aes_key_import()
| int zpc_aes_key_import |
( |
struct zpc_aes_key * | key, |
|
|
const unsigned char * | seckey, |
|
|
size_t | seckeylen ) |
Import an AES secure-key.
- Parameters
-
| [in,out] | key | AES key |
| [in] | seckey | AES secure-key |
| [in] | seckeylen | AES key secure-length [bytes] |
- Returns
- 0 on success. Otherwise, a non-zero error code is returned.
◆ zpc_aes_key_import_clear()
| int zpc_aes_key_import_clear |
( |
struct zpc_aes_key * | key, |
|
|
const unsigned char * | clrkey ) |
Import an AES clear-key.
- Parameters
-
| [in,out] | key | AES key |
| [in] | clrkey | AES clear-key |
- Returns
- 0 on success. Otherwise, a non-zero error code is returned.
◆ zpc_aes_key_export()
| int zpc_aes_key_export |
( |
struct zpc_aes_key * | key, |
|
|
unsigned char * | seckey, |
|
|
size_t * | seckeylen ) |
Export an AES secure-key.
- Parameters
-
| [in,out] | key | AES key |
| [out] | seckey | AES secure-key |
| [in,out] | seckeylen | secure AES secure-key length [bytes] |
- Returns
- 0 on success. Otherwise, a non-zero error code is returned.
◆ zpc_aes_key_generate()
| int zpc_aes_key_generate |
( |
struct zpc_aes_key * | key | ) |
|
Generate an AES secure-key.
- Parameters
-
- Returns
- 0 on success. Otherwise, a non-zero error code is returned.
◆ zpc_aes_key_reencipher()
| int zpc_aes_key_reencipher |
( |
struct zpc_aes_key * | key, |
|
|
int | reenc ) |
Reencipher an AES secure-key.
- Parameters
-
| [in,out] | key | AES key |
| [in] | reenc | ZPC_AES_KEY_REENCIPHER_OLD_TO_CURRENT or ZPC_AES_KEY_REENCIPHER_CURRENT_TO_NEW This function is not applicable for keys of type PVSECRET and returns ZPC_ERROR_KEYTYPE when called for such keys. |
- Returns
- 0 on success. Otherwise, a non-zero error code is returned.
◆ zpc_aes_key_free()
| void zpc_aes_key_free |
( |
struct zpc_aes_key ** | key | ) |
|
Decrease the reference count of an AES key object and free it the count reaches 0.
- Parameters
-