diff options
Diffstat (limited to 'lib/t_cose/src/t_cose_defines.h')
-rw-r--r-- | lib/t_cose/src/t_cose_defines.h | 291 |
1 files changed, 0 insertions, 291 deletions
diff --git a/lib/t_cose/src/t_cose_defines.h b/lib/t_cose/src/t_cose_defines.h deleted file mode 100644 index e2cc970eae..0000000000 --- a/lib/t_cose/src/t_cose_defines.h +++ /dev/null @@ -1,291 +0,0 @@ -/* - * t_cose_defines.h - * - * Copyright (c) 2018-2019, Laurence Lundblade. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - * - * See BSD-3-Clause license in README.md - */ - -#ifndef __T_COSE_DEFINES_H__ -#define __T_COSE_DEFINES_H__ - -/** - * \file t_cose_defines.h - * - * \brief Constants from COSE standard and IANA registry. - * - * This file contains constants identifiers defined in [COSE (RFC - * 8152)] (https://tools.ietf.org/html/rfc8152) and [IANA COSE - * Registry] (https://www.iana.org/assignments/cose/cose.xhtml). They - * include algorithm IDs and other constants. - * - * Many constants in the IANA registry are not included here yet as - * they are not needed by t_cose. They can be added if they become - * needed. - */ - - - - -/* --------------- COSE Header parameters ----------- - * https://www.iana.org/assignments/cose/cose.xhtml#header-parameters - */ - -/** - * \def COSE_HEADER_PARAM_ALG - * - * \brief Label of COSE header that indicates an algorithm. - */ -#define COSE_HEADER_PARAM_ALG 1 - -/** - * \def COSE_HEADER_PARAM_KID - * - * \brief Label of COSE header that contains a key ID. - */ -#define COSE_HEADER_PARAM_KID 4 - - - - -/* ------------ COSE Header Algorithm Parameters -------------- - * https://www.iana.org/assignments/cose/cose.xhtml#header-algorithm-parameters - * - * None of these are defined here yet, as they are not needed by t_cose yet. - */ - - - - -/* ------------- COSE Algorithms ---------------------------- - * https://www.iana.org/assignments/cose/cose.xhtml#algorithms - */ - -/** - * \def COSE_ALGORITHM_ES256 - * - * \brief Indicates ECDSA with SHA-256. - * - * Value for \ref COSE_HEADER_PARAM_ALG to indicate ECDSA. w/SHA-256 - */ -#define COSE_ALGORITHM_ES256 -7 - -/** - * \def COSE_ALGORITHM_ES384 - * - * \brief Indicates ECDSA with SHA-384. - * - * Value for \ref COSE_HEADER_PARAM_ALG to indicate ECDSA. w/SHA-384 - */ -#define COSE_ALGORITHM_ES384 -35 - -/** - * \def COSE_ALGORITHM_ES512 - * - * \brief Indicates ECDSA with SHA-384. - * - * Value for \ref COSE_HEADER_PARAM_ALG to indicate ECDSA. w/SHA-512 - */ -#define COSE_ALGORITHM_ES512 -36 - - -/** - * \def COSE_ALG_SHA256_PROPRIETARY - * - * \brief COSE-style algorithm ID for SHA256. The official COSE - * algorithm registry doesn't yet define an ID for a pure hash - * function. One is needed for internal use, so this is defined. - * - * This is only used internally in the implementation and doesn't - * appear in any protocol messages so there are no interoperability - * issues. When this gets defined in the IANA registry, that value can - * be substituted here and all will work fine. - */ -#define COSE_ALG_SHA256_PROPRIETARY -72000 - - - - -/* ---------- COSE Key Common Parameters -------------- - * https://www.iana.org/assignments/cose/cose.xhtml#key-common-parameters - */ - -/** - * \def COSE_KEY_COMMON_KTY - * - * \brief Label for data item containing the key type. - * - * In a \c COSE_Key, label that indicates the data item containing the - * key type. - */ -#define COSE_KEY_COMMON_KTY 1 - -/** - * \def COSE_KEY_COMMON_KID - * - * \brief Label for data item containing the key's kid. - * - * In a \c COSE_Key, label that indicates the data item containing the - * kid of this key. - */ -#define COSE_KEY_COMMON_KID 2 - - - - -/* ---------- COSE Key Type Parameters -------------------- - * https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters - */ - -/** - * \def COSE_KEY_PARAM_CRV - * - * \brief Label for data item indicating EC curve. - * - * In a \c COSE_Key that holds an EC key of either type \ref - * COSE_KEY_TYPE_EC2 or \ref COSE_KEY_TYPE_OKP this labels the data - * item with the EC curve for the key. - */ -#define COSE_KEY_PARAM_CRV -1 - -/** - * \def COSE_KEY_PARAM_X_COORDINATE - * - * \brief Label for data item that is an X coordinate of an EC key. - * - * In a \c COSE_Key that holds an EC key, this is label that indicates - * the data item containing the X coordinate. - * - * This is used for both key types \ref COSE_KEY_TYPE_EC2 and \ref - * COSE_KEY_TYPE_OKP. - */ -#define COSE_KEY_PARAM_X_COORDINATE -2 - -/** - * \def COSE_KEY_PARAM_Y_COORDINATE - * - * \brief Label for data item that is a y coordinate of an EC key. - * - * In a COSE_Key that holds an EC key, this is label that indicates - * the data item containing the Y coordinate. - * - * This is used only for key type \ref COSE_KEY_TYPE_EC2. - */ -#define COSE_KEY_PARAM_Y_COORDINATE -3 - -/** - * \def COSE_KEY_PARAM_PRIVATE_D - * - * \brief Label for data item that is d, the private part of EC key. - * - * In a \c COSE_Key that holds an EC key, this is label that indicates - * the data item containing the Y coordinate. - * - * This is used for both key types \ref COSE_KEY_TYPE_EC2 and \ref - * COSE_KEY_TYPE_OKP. - */ -#define COSE_KEY_PARAM_PRIVATE_D -4 - - - - -/* ---------- COSE Key Types -------------------------------- - * https://www.iana.org/assignments/cose/cose.xhtml#key-type - */ - -/** - * \def COSE_KEY_TYPE_OKP - * - * \brief Key type is Octet Key Pair - * - * In a \c COSE_Key, this is a value of the data item labeled \ref - * COSE_KEY_COMMON_KTY that indicates the \c COSE_Key is some sort of - * key pair represented by some octets. It may or may not be an EC - * key. - */ -#define COSE_KEY_TYPE_OKP 1 - -/** - * \def COSE_KEY_TYPE_EC2 - * - * \brief Key is a 2-parameter EC key. - * - * In a \c COSE_Key, this is a value of the data item labeled \ref - * COSE_KEY_COMMON_KTY that indicates the \c COSE_Key is an EC key - * specified with two coordinates, X and Y. - */ -#define COSE_KEY_TYPE_EC2 2 - -/** - * \def COSE_KEY_TYPE_SYMMETRIC - * - * \brief Key is a symmetric key. - * - * In a \c COSE_Key, this is a value of the data item labeled \ref - * COSE_KEY_COMMON_KTY that indicates the \c COSE_Key is a symmetric - * key. - */ -#define COSE_KEY_TYPE_SYMMETRIC 4 - - - - -/* ----------- COSE Elliptic Curves --------------------- - * https://www.iana.org/assignments/cose/cose.xhtml#elliptic-curves - */ - -/** - * \def COSE_ELLIPTIC_CURVE_P_256 - * - * \brief Key type for NIST P-256 key - * - * In a \c COSE_Key, this is a value of the data item labeled \ref - * COSE_KEY_PARAM_CRV to indicate the NIST P-256 curve, also known as - * secp256r1. - * - * This key type is always \ref COSE_KEY_TYPE_EC2. - */ -#define COSE_ELLIPTIC_CURVE_P_256 1 - -/** - * \def COSE_ELLIPTIC_CURVE_P_384 - * - * \brief Key type for NIST P-384 key - * - * In a \c COSE_Key, this is a value of the data item labeled \ref - * COSE_KEY_PARAM_CRV to indicate the NIST P-384 curve, also known as - * secp384r1. - * - * This key type is always \ref COSE_KEY_TYPE_EC2. - */ -#define COSE_ELLIPTIC_CURVE_P_384 2 - -/** - * \def COSE_ELLIPTIC_CURVE_P_521 - * - * \brief Key type for NIST P-521 key - * - * In a \c COSE_Key, this is a value of the data item labeled \ref - * COSE_KEY_PARAM_CRV to indicate the NIST P-521 curve, also known as - * secp521r1. - */ -#define COSE_ELLIPTIC_CURVE_P_521 3 - - - - -/* ------- Constants from RFC 8152 --------- - */ - -/** - * \def COSE_SIG_CONTEXT_STRING_SIGNATURE1 - * - * \brief This is a string constant used by COSE to label \c COSE_Sign1 - * structures. See RFC 8152, section 4.4. - */ -#define COSE_SIG_CONTEXT_STRING_SIGNATURE1 "Signature1" - - -#endif /* __T_COSE_DEFINES_H__ */ |