CTAP CBOR helper function declarations. More...
CTAP CBOR helper function declarations.
Definition in file ctap_cbor.h.
#include "fido2/ctap/ctap.h"
 Include dependency graph for ctap_cbor.h:Go to the source code of this file.
Macros | |
| #define | CTAP_CBOR_INFO_MAP_SZ 0x06 | 
| CBOR map size of encoded getInfo response.   | |
| #define | CTAP_CBOR_ATTESTATION_MAP_SZ 0x03 | 
| CBOR map size of encoded attestation.   | |
| #define | CTAP_CBOR_ATTESTATION_STMT_MAP_SZ 0x02 | 
| CBOR map size of encoded attestation statement.   | |
| #define | CTAP_CBOR_CRED_DESC_MAP_SZ 0x02 | 
| CBOR map size of encoded credential description.   | |
| #define | CTAP_CBOR_PIN_TOKEN_MAP_SZ 0x01 | 
| CBOR map size of encoded pinToken.   | |
| #define | CTAP_CBOR_USER_ENTITY_MAP_SZ 0x01 | 
| CBOR map size of encoded user entity.   | |
| #define | CTAP_CBOR_COSE_KEY_MAP_SZ 0x05 | 
| CBOR map size of public key encoded in COSE format.   | |
| #define | CTAP_CBOR_KEY_AGREEMENT_MAP_SZ 0x01 | 
| CBOR map size of encoded clientPIN keyAgreement.   | |
| #define | CTAP_CBOR_RETRIES_MAP_SZ 0x01 | 
| CBOR map size of encoded clientPIN retries.   | |
| #define | CTAP_CBOR_ATT_STMT_AUTH_DATA_SZ 0x134 | 
| Attestation statement data buffer size.   | |
| #define | CTAP_CBOR_MAP_MAX_KEY_LEN 0x10 | 
| Max length of string key in CBOR map.   | |
| #define | CTAP_CBOR_MAX_CREDENTIAL_TYPE_LEN 0x10 | 
| Max length of PublicKeyCredentialType string.   | |
Functions | |
| ctap_status_code_t | fido2_ctap_cbor_parse_make_credential_req (ctap_make_credential_req_t *req, const uint8_t *req_raw, size_t len) | 
| Parse MakeCredential method.   | |
| ctap_status_code_t | fido2_ctap_cbor_parse_get_assertion_req (ctap_get_assertion_req_t *req, const uint8_t *req_raw, size_t len) | 
| Parse GetAssertion method.   | |
| ctap_status_code_t | fido2_ctap_cbor_encode_info (const ctap_info_t *info) | 
| Encode CBOR info map.   | |
| ctap_status_code_t | fido2_ctap_cbor_parse_client_pin_req (ctap_client_pin_req_t *req, const uint8_t *req_raw, size_t len) | 
| Parse ClientPIN method.   | |
| ctap_status_code_t | fido2_ctap_cbor_encode_attestation_object (const ctap_auth_data_t *auth_data, const uint8_t *client_data_hash, ctap_resident_key_t *rk) | 
| Encode attestation object.   | |
| ctap_status_code_t | fido2_ctap_cbor_encode_assertion_object (const ctap_auth_data_header_t *auth_data, const uint8_t *client_data_hash, ctap_resident_key_t *rk, uint8_t valid_cred_count) | 
| Encode assertion object.   | |
| ctap_status_code_t | fido2_ctap_cbor_encode_key_agreement (const ctap_public_key_cose_t *key) | 
| Encode key agreement.   | |
| ctap_status_code_t | fido2_ctap_cbor_encode_pin_token (uint8_t *token, size_t len) | 
| Encode encrypted pin token.   | |
| ctap_status_code_t | fido2_ctap_cbor_encode_retries (uint8_t tries_left) | 
| Encode PIN tries left.   | |
| size_t | fido2_ctap_cbor_get_buffer_size (const uint8_t *buf) | 
| Get size of CBOR encoded data.   | |
| void | fido2_ctap_cbor_init_encoder (uint8_t *buf, size_t len) | 
| Initialize CBOR encoder.   | |
CTAP CBOR map key string values | |
| #define | CTAP_CBOR_STR_PACKED "packed" | 
| packed key string   | |
| #define | CTAP_CBOR_STR_ALG "alg" | 
| algorithm key string   | |
| #define | CTAP_CBOR_STR_SIG "sig" | 
| signature key string   | |
| #define | CTAP_CBOR_STR_ID "id" | 
| id key string   | |
| #define | CTAP_CBOR_STR_TYPE "type" | 
| type key string   | |
| #define | CTAP_CBOR_STR_PUBLIC_KEY "public-key" | 
| public-key key string   | |
| #define | CTAP_CBOR_STR_USER_VERIFIED "uv" | 
| user verification key string   | |
| #define | CTAP_CBOR_STR_USER_PRESENT "up" | 
| user presence key string   | |
| #define | CTAP_CBOR_STR_RESIDENT_KEY "rk" | 
| resident key key string   | |
| #define | CTAP_CBOR_STR_NAME "name" | 
| name key string   | |
| #define | CTAP_CBOR_STR_ICON "icon" | 
| icon key string   | |
| #define | CTAP_CBOR_DISPLAY_NAME "displayName" | 
| displayName key string   | |
CTAP Client PIN response CBOR map key values | |
| #define | CTAP_CBOR_CP_RESP_KEY_AGREEMENT 0x01 | 
| KeyAgreement key value.   | |
| #define | CTAP_CBOR_CP_PIN_TOKEN_RESP 0x02 | 
| pinToken key value   | |
| #define | CTAP_CBOR_CP_RETRIES_RESP 0x03 | 
| retries key value   | |
CTAP make credential request CBOR key values | |
| #define | CTAP_CBOR_MC_REQ_CLIENT_DATA_HASH 0x01 | 
| clientDataHash key value   | |
| #define | CTAP_CBOR_MC_REQ_RP 0x02 | 
| relying party key value   | |
| #define | CTAP_CBOR_MC_REQ_USER 0x03 | 
| user key value   | |
| #define | CTAP_CBOR_MC_REQ_PUB_KEY_CRED_PARAMS 0x04 | 
| pubKeyCredParams key value   | |
| #define | CTAP_CBOR_MC_REQ_EXCLUDE_LIST 0x05 | 
| excludeList key value   | |
| #define | CTAP_CBOR_MC_REQ_EXTENSIONS 0x06 | 
| extensions key value   | |
| #define | CTAP_CBOR_MC_REQ_OPTIONS 0x07 | 
| options key value   | |
| #define | CTAP_CBOR_MC_REQ_PIN_AUTH 0x08 | 
| pinAuth key value   | |
| #define | CTAP_CBOR_MC_REQ_PIN_PROTOCOL 0x09 | 
| pinProtocol key value   | |
CTAP get info response CBOR key values | |
| #define | CTAP_CBOR_GET_INFO_RESP_VERSIONS 0x01 | 
| versions key value   | |
| #define | CTAP_CBOR_GET_INFO_RESP_EXTENSIONS 0x02 | 
| extensions key value   | |
| #define | CTAP_CBOR_GET_INFO_RESP_AAGUID 0x03 | 
| AAGUID key value.   | |
| #define | CTAP_CBOR_GET_INFO_RESP_OPTIONS 0x04 | 
| options key value   | |
| #define | CTAP_CBOR_GET_INFO_RESP_MAX_MSG_SIZE 0x05 | 
| maxMsgSize key value   | |
| #define | CTAP_CBOR_GET_INFO_RESP_PIN_PROTOCOLS 0x06 | 
| pinProtocol key value   | |
CTAP version strings | |
| #define | CTAP_CBOR_VERSION_STRING_FIDO_PRE "FIDO_2_1_PRE" | 
| FIDO 2.1 flag.   | |
| #define | CTAP_CBOR_VERSION_STRING_FIDO "FIDO_2_0" | 
| FIDO 2 flag.   | |
| #define | CTAP_CBOR_VERSION_STRING_U2F_V2 "U2F_V2" | 
| U2F V2 flag.   | |
CTAP make credential response CBOR key values | |
| #define | CTAP_CBOR_MC_RESP_FMT 0x01 | 
| attestation statement format identifier key value   | |
| #define | CTAP_CBOR_MC_RESP_AUTH_DATA 0x02 | 
| authData key value   | |
| #define | CTAP_CBOR_MC_RESP_ATT_STMT 0x03 | 
| attestation statement key value   | |
CTAP get assertion request CBOR key values | |
| #define | CTAP_CBOR_GA_REQ_RP_ID 0x01 | 
| relying party identifier key value   | |
| #define | CTAP_CBOR_GA_REQ_CLIENT_DATA_HASH 0x02 | 
| clientDataHash key value   | |
| #define | CTAP_CBOR_GA_REQ_ALLOW_LIST 0x03 | 
| allowList key value   | |
| #define | CTAP_CBOR_GA_REQ_EXTENSIONS 0x04 | 
| extensions key value   | |
| #define | CTAP_CBOR_GA_REQ_OPTIONS 0x05 | 
| options key value   | |
| #define | CTAP_CBOR_GA_REQ_PIN_AUTH 0x06 | 
| pinAuth key value   | |
| #define | CTAP_CBOR_GA_REQ_PIN_PROTOCOL 0x07 | 
| pinProtocol key value   | |
CTAP get assertion response CBOR key values | |
| #define | CTAP_CBOR_GA_RESP_CREDENTIAL 0x01 | 
| credential key value   | |
| #define | CTAP_CBOR_GA_RESP_AUTH_DATA 0x02 | 
| authData key value   | |
| #define | CTAP_CBOR_GA_RESP_SIGNATURE 0x03 | 
| signature key value   | |
| #define | CTAP_CBOR_GA_RESP_USER 0x04 | 
| user key value   | |
| #define | CTAP_CBOR_GA_RESP_NUMBER_OF_CREDENTIALS 0x05 | 
| numberOfCredentials key value   | |
CTAP Client PIN request CBOR key values | |
| #define | CTAP_CBOR_CP_REQ_PIN_PROTOCOL 0x01 | 
| pinProtocol key value   | |
| #define | CTAP_CBOR_CP_REQ_SUB_COMMAND 0x02 | 
| subCommand key value   | |
| #define | CTAP_CBOR_CP_REQ_KEY_AGREEMENT 0x03 | 
| keyAgreement key value   | |
| #define | CTAP_CBOR_CP_REQ_PIN_AUTH 0x04 | 
| pinAuth key value   | |
| #define | CTAP_CBOR_CP_REQ_NEW_PIN_ENC 0x05 | 
| newPinEnc key value   | |
| #define | CTAP_CBOR_CP_REQ_PIN_HASH_ENC 0x06 | 
| pinHashEnc key value   | |