Internal API for interfacing with OSCORE COSE.
More...
|
enum | cose_curve_t {
COSE_CURVE_P_256 = 1
, COSE_CURVE_X25519 = 4
, COSE_CURVE_X448 = 5
, COSE_CURVE_ED25519 = 6
,
COSE_CURVE_ED448 = 7
, COSE_CURVE_SECP256K1 = 8
} |
|
enum | cose_key_type_t {
COSE_KTY_UNKNOWN
, COSE_KTY_OKP = 1
, COSE_KTY_EC2 = 2
, COSE_KTY_RSA = 3
,
COSE_KTY_SYMMETRIC = 4
} |
|
enum | cose_alg_t {
COSE_ALGORITHM_ES256K = -47
, COSE_ALGORITHM_SHA_512 = -44
, COSE_ALGORITHM_SHA_384 = -43
, COSE_ALGORITHM_ES512 = -36
,
COSE_ALGORITHM_ES384 = -35
, COSE_ALGORITHM_ECDH_SS_HKDF_256 = -27
, COSE_ALGORITHM_SHA_512_256 = -17
, COSE_ALGORITHM_SHA_256_256 = -16
,
COSE_ALGORITHM_SHA_256_64 = -15
, COSE_ALGORITHM_SHA_1 = -14
, COSE_ALGORITHM_HKDF_SHA_512 = -11
, COSE_ALGORITHM_HKDF_SHA_256 = -10
,
COSE_ALGORITHM_EDDSA = -8
, COSE_ALGORITHM_ES256 = -7
, COSE_ALGORITHM_HMAC256_64 = 4
, COSE_ALGORITHM_HMAC256_256 = 5
,
COSE_ALGORITHM_HMAC384_384 = 6
, COSE_ALGORITHM_HMAC512_512 = 7
, COSE_ALGORITHM_AES_CCM_16_64_128 = 10
, COSE_ALGORITHM_AES_CCM_16_64_256 = 11
,
COSE_ALGORITHM_AES_CCM_64_64_128 = 12
, COSE_ALGORITHM_AES_CCM_64_64_256 = 13
, COSE_ALGORITHM_CHACHA20_P1035 = 24
, COSE_ALGORITHM_AES_CCM_16_128_128 = 30
,
COSE_ALGORITHM_AES_CCM_16_128_256 = 31
, COSE_ALGORITHM_AES_CCM_64_128_128 = 32
, COSE_ALGORITHM_AES_CCM_64_128_256 = 33
} |
|
enum | cose_hmac_alg_t { COSE_HMAC_ALG_HMAC256_64 = 4
, COSE_HMAC_ALG_HMAC256_256 = 5
, COSE_HMAC_ALG_HMAC384_384 = 6
, COSE_HMAC_ALG_HMAC512_512 = 7
} |
|
enum | cose_hkdf_alg_t { COSE_HKDF_ALG_HKDF_SHA_512 = -11
, COSE_HKDF_ALG_HKDF_SHA_256 = -10
} |
|
|
const char * | cose_get_curve_name (cose_curve_t id, char *buffer, size_t buflen) |
|
cose_curve_t | cose_get_curve_id (const char *name) |
|
const char * | cose_get_alg_name (cose_alg_t id, char *buffer, size_t buflen) |
|
cose_alg_t | cose_get_alg_id (const char *name) |
|
const char * | cose_get_hkdf_alg_name (cose_hkdf_alg_t id, char *buffer, size_t buflen) |
|
int | cose_get_hmac_alg_for_hkdf (cose_hkdf_alg_t hkdf_alg, cose_hmac_alg_t *hmac_alg) |
|
size_t | cose_tag_len (cose_alg_t cose_alg) |
|
size_t | cose_hash_len (cose_alg_t cose_alg) |
|
size_t | cose_nonce_len (cose_alg_t cose_alg) |
|
size_t | cose_key_len (cose_alg_t cose_alg) |
|
size_t | cose_encrypt0_encode (cose_encrypt0_t *ptr, uint8_t *buffer, size_t size) |
|
int | cose_encrypt0_decode (cose_encrypt0_t *ptr, uint8_t *buffer, size_t size) |
|
void | cose_encrypt0_init (cose_encrypt0_t *ptr) |
|
void | cose_encrypt0_set_alg (cose_encrypt0_t *ptr, uint8_t alg) |
|
void | cose_encrypt0_set_plaintext (cose_encrypt0_t *ptr, uint8_t *buffer, size_t size) |
|
void | cose_encrypt0_set_ciphertext (cose_encrypt0_t *ptr, uint8_t *buffer, size_t size) |
|
int | cose_encrypt0_get_plaintext (cose_encrypt0_t *ptr, uint8_t **buffer) |
|
void | cose_encrypt0_set_partial_iv (cose_encrypt0_t *ptr, coap_bin_const_t *partial_iv) |
|
coap_bin_const_t | cose_encrypt0_get_partial_iv (cose_encrypt0_t *ptr) |
|
void | cose_encrypt0_set_key_id (cose_encrypt0_t *ptr, coap_bin_const_t *key_id) |
|
size_t | cose_encrypt0_get_key_id (cose_encrypt0_t *ptr, const uint8_t **buffer) |
|
void | cose_encrypt0_set_external_aad (cose_encrypt0_t *ptr, coap_bin_const_t *external_aad) |
|
void | cose_encrypt0_set_aad (cose_encrypt0_t *ptr, coap_bin_const_t *aad) |
|
size_t | cose_encrypt0_get_kid_context (cose_encrypt0_t *ptr, const uint8_t **buffer) |
|
void | cose_encrypt0_set_kid_context (cose_encrypt0_t *ptr, coap_bin_const_t *kid_context) |
|
int | cose_encrypt0_set_key (cose_encrypt0_t *ptr, coap_bin_const_t *key) |
|
void | cose_encrypt0_set_nonce (cose_encrypt0_t *ptr, coap_bin_const_t *nonce) |
|
int | cose_encrypt0_encrypt (cose_encrypt0_t *ptr, uint8_t *ciphertext_buffer, size_t ciphertext_len) |
|
int | cose_encrypt0_decrypt (cose_encrypt0_t *ptr, uint8_t *plaintext_buffer, size_t plaintext_len) |
|
Internal API for interfacing with OSCORE COSE.
◆ COSE_ALGORITHM_AES_CCM_16_128_128_KEY_LEN
#define COSE_ALGORITHM_AES_CCM_16_128_128_KEY_LEN 16 |
◆ COSE_ALGORITHM_AES_CCM_16_128_128_NONCE_LEN
#define COSE_ALGORITHM_AES_CCM_16_128_128_NONCE_LEN 13 |
◆ COSE_ALGORITHM_AES_CCM_16_128_128_TAG_LEN
#define COSE_ALGORITHM_AES_CCM_16_128_128_TAG_LEN 16 |
◆ COSE_ALGORITHM_AES_CCM_16_64_128_KEY_LEN
#define COSE_ALGORITHM_AES_CCM_16_64_128_KEY_LEN 16 |
◆ COSE_ALGORITHM_AES_CCM_16_64_128_NONCE_LEN
#define COSE_ALGORITHM_AES_CCM_16_64_128_NONCE_LEN 13 |
◆ COSE_ALGORITHM_AES_CCM_16_64_128_TAG_LEN
#define COSE_ALGORITHM_AES_CCM_16_64_128_TAG_LEN 8 |
◆ COSE_ALGORITHM_AES_CCM_64_128_128_KEY_LEN
#define COSE_ALGORITHM_AES_CCM_64_128_128_KEY_LEN 16 |
◆ COSE_ALGORITHM_AES_CCM_64_128_128_NONCE_LEN
#define COSE_ALGORITHM_AES_CCM_64_128_128_NONCE_LEN 7 |
◆ COSE_ALGORITHM_AES_CCM_64_128_128_TAG_LEN
#define COSE_ALGORITHM_AES_CCM_64_128_128_TAG_LEN 16 |
◆ COSE_ALGORITHM_AES_CCM_64_64_128_KEY_LEN
#define COSE_ALGORITHM_AES_CCM_64_64_128_KEY_LEN 16 |
◆ COSE_ALGORITHM_AES_CCM_64_64_128_NONCE_LEN
#define COSE_ALGORITHM_AES_CCM_64_64_128_NONCE_LEN 7 |
◆ COSE_ALGORITHM_AES_CCM_64_64_128_TAG_LEN
#define COSE_ALGORITHM_AES_CCM_64_64_128_TAG_LEN 8 |
◆ COSE_ALGORITHM_ECDH_PRIV_KEY_LEN
#define COSE_ALGORITHM_ECDH_PRIV_KEY_LEN 32 |
◆ COSE_ALGORITHM_ECDH_PUB_KEY_LEN
#define COSE_ALGORITHM_ECDH_PUB_KEY_LEN 32 |
◆ COSE_ALGORITHM_ED25519_PRIV_KEY_LEN
#define COSE_ALGORITHM_ED25519_PRIV_KEY_LEN 32 |
◆ COSE_ALGORITHM_ED25519_PUB_KEY_LEN
#define COSE_ALGORITHM_ED25519_PUB_KEY_LEN 32 |
◆ COSE_ALGORITHM_ED25519_SIG_LEN
#define COSE_ALGORITHM_ED25519_SIG_LEN 64 |
◆ COSE_ALGORITHM_ES256_HASH_LEN
#define COSE_ALGORITHM_ES256_HASH_LEN 32 |
◆ COSE_ALGORITHM_ES256_PRIV_KEY_LEN
#define COSE_ALGORITHM_ES256_PRIV_KEY_LEN 24 |
◆ COSE_ALGORITHM_ES256_PUB_KEY_LEN
#define COSE_ALGORITHM_ES256_PUB_KEY_LEN 32 |
◆ COSE_ALGORITHM_ES256_SIGNATURE_LEN
#define COSE_ALGORITHM_ES256_SIGNATURE_LEN 64 |
◆ COSE_ALGORITHM_ES384_HASH_LEN
#define COSE_ALGORITHM_ES384_HASH_LEN 48 |
◆ COSE_ALGORITHM_ES384_PRIV_KEY_LEN
#define COSE_ALGORITHM_ES384_PRIV_KEY_LEN 24 |
◆ COSE_ALGORITHM_ES384_PUB_KEY_LEN
#define COSE_ALGORITHM_ES384_PUB_KEY_LEN 32 |
◆ COSE_ALGORITHM_ES384_SIGNATURE_LEN
#define COSE_ALGORITHM_ES384_SIGNATURE_LEN 64 |
◆ COSE_ALGORITHM_ES512_HASH_LEN
#define COSE_ALGORITHM_ES512_HASH_LEN 64 |
◆ COSE_ALGORITHM_ES512_PRIV_KEY_LEN
#define COSE_ALGORITHM_ES512_PRIV_KEY_LEN 24 |
◆ COSE_ALGORITHM_ES512_PUB_KEY_LEN
#define COSE_ALGORITHM_ES512_PUB_KEY_LEN 32 |
◆ COSE_ALGORITHM_ES512_SIGNATURE_LEN
#define COSE_ALGORITHM_ES512_SIGNATURE_LEN 64 |
◆ COSE_ALGORITHM_HMAC256_256_HASH_LEN
#define COSE_ALGORITHM_HMAC256_256_HASH_LEN 32 |
◆ COSE_ALGORITHM_HMAC256_64_HASH_LEN
#define COSE_ALGORITHM_HMAC256_64_HASH_LEN 16 |
◆ COSE_ALGORITHM_HMAC384_384_HASH_LEN
#define COSE_ALGORITHM_HMAC384_384_HASH_LEN 48 |
◆ COSE_ALGORITHM_HMAC512_512_HASH_LEN
#define COSE_ALGORITHM_HMAC512_512_HASH_LEN 64 |
◆ COSE_ALGORITHM_SHA_256_256_LEN
#define COSE_ALGORITHM_SHA_256_256_LEN 32 |
◆ COSE_ALGORITHM_SHA_256_64_LEN
#define COSE_ALGORITHM_SHA_256_64_LEN 8 |
◆ COSE_ALGORITHM_SHA_512_256_LEN
#define COSE_ALGORITHM_SHA_512_256_LEN 32 |
◆ COSE_ALGORITHM_SHA_512_LEN
#define COSE_ALGORITHM_SHA_512_LEN 64 |
◆ cose_encrypt0_t
◆ cose_alg_t
Enumerator |
---|
COSE_ALGORITHM_ES256K | |
COSE_ALGORITHM_SHA_512 | |
COSE_ALGORITHM_SHA_384 | |
COSE_ALGORITHM_ES512 | |
COSE_ALGORITHM_ES384 | |
COSE_ALGORITHM_ECDH_SS_HKDF_256 | |
COSE_ALGORITHM_SHA_512_256 | |
COSE_ALGORITHM_SHA_256_256 | |
COSE_ALGORITHM_SHA_256_64 | |
COSE_ALGORITHM_SHA_1 | |
COSE_ALGORITHM_HKDF_SHA_512 | |
COSE_ALGORITHM_HKDF_SHA_256 | |
COSE_ALGORITHM_EDDSA | |
COSE_ALGORITHM_ES256 | |
COSE_ALGORITHM_HMAC256_64 | |
COSE_ALGORITHM_HMAC256_256 | |
COSE_ALGORITHM_HMAC384_384 | |
COSE_ALGORITHM_HMAC512_512 | |
COSE_ALGORITHM_AES_CCM_16_64_128 | |
COSE_ALGORITHM_AES_CCM_16_64_256 | |
COSE_ALGORITHM_AES_CCM_64_64_128 | |
COSE_ALGORITHM_AES_CCM_64_64_256 | |
COSE_ALGORITHM_CHACHA20_P1035 | |
COSE_ALGORITHM_AES_CCM_16_128_128 | |
COSE_ALGORITHM_AES_CCM_16_128_256 | |
COSE_ALGORITHM_AES_CCM_64_128_128 | |
COSE_ALGORITHM_AES_CCM_64_128_256 | |
Definition at line 126 of file oscore_cose.h.
◆ cose_curve_t
Enumerator |
---|
COSE_CURVE_P_256 | |
COSE_CURVE_X25519 | |
COSE_CURVE_X448 | |
COSE_CURVE_ED25519 | |
COSE_CURVE_ED448 | |
COSE_CURVE_SECP256K1 | |
Definition at line 60 of file oscore_cose.h.
◆ cose_hkdf_alg_t
Enumerator |
---|
COSE_HKDF_ALG_HKDF_SHA_512 | |
COSE_HKDF_ALG_HKDF_SHA_256 | |
Definition at line 165 of file oscore_cose.h.
◆ cose_hmac_alg_t
Enumerator |
---|
COSE_HMAC_ALG_HMAC256_64 | |
COSE_HMAC_ALG_HMAC256_256 | |
COSE_HMAC_ALG_HMAC384_384 | |
COSE_HMAC_ALG_HMAC512_512 | |
Definition at line 157 of file oscore_cose.h.
◆ cose_key_type_t
Enumerator |
---|
COSE_KTY_UNKNOWN | |
COSE_KTY_OKP | |
COSE_KTY_EC2 | |
COSE_KTY_RSA | |
COSE_KTY_SYMMETRIC | |
Definition at line 69 of file oscore_cose.h.
◆ cose_encrypt0_decode()
int cose_encrypt0_decode |
( |
cose_encrypt0_t * |
ptr, |
|
|
uint8_t * |
buffer, |
|
|
size_t |
size |
|
) |
| |
◆ cose_encrypt0_decrypt()
int cose_encrypt0_decrypt |
( |
cose_encrypt0_t * |
ptr, |
|
|
uint8_t * |
plaintext_buffer, |
|
|
size_t |
plaintext_len |
|
) |
| |
◆ cose_encrypt0_encode()
size_t cose_encrypt0_encode |
( |
cose_encrypt0_t * |
ptr, |
|
|
uint8_t * |
buffer, |
|
|
size_t |
size |
|
) |
| |
◆ cose_encrypt0_encrypt()
int cose_encrypt0_encrypt |
( |
cose_encrypt0_t * |
ptr, |
|
|
uint8_t * |
ciphertext_buffer, |
|
|
size_t |
ciphertext_len |
|
) |
| |
◆ cose_encrypt0_get_key_id()
size_t cose_encrypt0_get_key_id |
( |
cose_encrypt0_t * |
ptr, |
|
|
const uint8_t ** |
buffer |
|
) |
| |
◆ cose_encrypt0_get_kid_context()
size_t cose_encrypt0_get_kid_context |
( |
cose_encrypt0_t * |
ptr, |
|
|
const uint8_t ** |
buffer |
|
) |
| |
◆ cose_encrypt0_get_partial_iv()
◆ cose_encrypt0_get_plaintext()
int cose_encrypt0_get_plaintext |
( |
cose_encrypt0_t * |
ptr, |
|
|
uint8_t ** |
buffer |
|
) |
| |
◆ cose_encrypt0_init()
◆ cose_encrypt0_set_aad()
◆ cose_encrypt0_set_alg()
◆ cose_encrypt0_set_ciphertext()
void cose_encrypt0_set_ciphertext |
( |
cose_encrypt0_t * |
ptr, |
|
|
uint8_t * |
buffer, |
|
|
size_t |
size |
|
) |
| |
◆ cose_encrypt0_set_external_aad()
◆ cose_encrypt0_set_key()
◆ cose_encrypt0_set_key_id()
◆ cose_encrypt0_set_kid_context()
◆ cose_encrypt0_set_nonce()
◆ cose_encrypt0_set_partial_iv()
◆ cose_encrypt0_set_plaintext()
void cose_encrypt0_set_plaintext |
( |
cose_encrypt0_t * |
ptr, |
|
|
uint8_t * |
buffer, |
|
|
size_t |
size |
|
) |
| |
◆ cose_get_alg_id()
◆ cose_get_alg_name()
const char * cose_get_alg_name |
( |
cose_alg_t |
id, |
|
|
char * |
buffer, |
|
|
size_t |
buflen |
|
) |
| |
◆ cose_get_curve_id()
◆ cose_get_curve_name()
const char * cose_get_curve_name |
( |
cose_curve_t |
id, |
|
|
char * |
buffer, |
|
|
size_t |
buflen |
|
) |
| |
◆ cose_get_hkdf_alg_name()
const char * cose_get_hkdf_alg_name |
( |
cose_hkdf_alg_t |
id, |
|
|
char * |
buffer, |
|
|
size_t |
buflen |
|
) |
| |
◆ cose_get_hmac_alg_for_hkdf()
◆ cose_hash_len()
◆ cose_key_len()
◆ cose_nonce_len()
◆ cose_tag_len()