All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
ctap.h File Reference

Public FIDO2 CTAP defines, structures and function declarations. More...

Detailed Description

Public FIDO2 CTAP defines, structures and function declarations.

Author
Nils Ollrogge nils..nosp@m.ollr.nosp@m.ogge@.nosp@m.fu-b.nosp@m.erlin.nosp@m..de

Definition in file ctap.h.

#include <stdint.h>
+ Include dependency graph for ctap.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ctap_req_t
 CTAP request struct. More...
 
struct  ctap_resp_t
 CTAP response struct. More...
 

Macros

#define CTAP_MAX_MSG_SIZE   0x400
 CTAP max message size.
 

Functions

ctap_status_code_t fido2_ctap_init (void)
 Initialize ctap.
 
ctap_status_code_t fido2_ctap_handle_request (ctap_req_t *req, ctap_resp_t *resp)
 Handle CBOR encoded ctap request.
 
ctap_status_code_t fido2_ctap_make_credential (ctap_req_t *req, ctap_resp_t *resp)
 MakeCredential method.
 
ctap_status_code_t fido2_ctap_get_assertion (ctap_req_t *req, ctap_resp_t *resp)
 GetAssertion method.
 
ctap_status_code_t fido2_ctap_get_next_assertion (ctap_resp_t *resp)
 GetNextAssertion method.
 
ctap_status_code_t fido2_ctap_get_info (ctap_resp_t *resp)
 GetInfo method.
 
ctap_status_code_t fido2_ctap_client_pin (ctap_req_t *req, ctap_resp_t *resp)
 ClientPIN method.
 
ctap_status_code_t fido2_ctap_reset (ctap_resp_t *resp)
 Reset method.
 
enum  ctap_status_code_t {
  CTAP2_OK = 0x00 , CTAP1_ERR_INVALID_COMMAND = 0x01 , CTAP1_ERR_INVALID_PARAMETER = 0x02 , CTAP1_ERR_INVALID_LENGTH = 0x03 ,
  CTAP1_ERR_INVALID_SEQ = 0x04 , CTAP1_ERR_TIMEOUT = 0x05 , CTAP1_ERR_CHANNEL_BUSY = 0x06 , CTAP1_ERR_LOCK_REQUIRED = 0x0A ,
  CTAP1_ERR_INVALID_CHANNEL = 0x0B , CTAP2_ERR_CBOR_PARSING = 0x10 , CTAP2_ERR_CBOR_UNEXPECTED_TYPE = 0x11 , CTAP2_ERR_INVALID_CBOR = 0x12 ,
  CTAP2_ERR_INVALID_CBOR_TYPE = 0x13 , CTAP2_ERR_MISSING_PARAMETER = 0x14 , CTAP2_ERR_LIMIT_EXCEEDED = 0x15 , CTAP2_ERR_UNSUPPORTED_EXTENSION = 0x16 ,
  CTAP2_ERR_TOO_MANY_ELEMENTS = 0x17 , CTAP2_ERR_EXTENSION_NOT_SUPPORTED = 0x18 , CTAP2_ERR_CREDENTIAL_EXCLUDED = 0x19 , CTAP2_ERR_CREDENTIAL_NOT_VALID = 0x20 ,
  CTAP2_ERR_PROCESSING = 0x21 , CTAP2_ERR_INVALID_CREDENTIAL = 0x22 , CTAP2_ERR_USER_ACTION_PENDING = 0x23 , CTAP2_ERR_OPERATION_PENDING = 0x24 ,
  CTAP2_ERR_NO_OPERATIONS = 0x25 , CTAP2_ERR_UNSUPPORTED_ALGORITHM = 0x26 , CTAP2_ERR_OPERATION_DENIED = 0x27 , CTAP2_ERR_KEY_STORE_FULL = 0x28 ,
  CTAP2_ERR_NOT_BUSY = 0x29 , CTAP2_ERR_NO_OPERATION_PENDING = 0x2A , CTAP2_ERR_UNSUPPORTED_OPTION = 0x2B , CTAP2_ERR_INVALID_OPTION = 0x2C ,
  CTAP2_ERR_KEEPALIVE_CANCEL = 0x2D , CTAP2_ERR_NO_CREDENTIALS = 0x2E , CTAP2_ERR_USER_ACTION_TIMEOUT = 0x2F , CTAP2_ERR_NOT_ALLOWED = 0x30 ,
  CTAP2_ERR_PIN_INVALID = 0x31 , CTAP2_ERR_PIN_BLOCKED = 0x32 , CTAP2_ERR_PIN_AUTH_INVALID = 0x33 , CTAP2_ERR_PIN_AUTH_BLOCKED = 0x34 ,
  CTAP2_ERR_PIN_NOT_SET = 0x35 , CTAP2_ERR_PIN_REQUIRED = 0x36 , CTAP2_ERR_PIN_POLICY_VIOLATION = 0x37 , CTAP2_ERR_PIN_TOKEN_EXPIRED = 0x38 ,
  CTAP2_ERR_REQUEST_TOO_LARGE = 0x39 , CTAP2_ERR_ACTION_TIMEOUT = 0x3A , CTAP2_ERR_UP_REQUIRED = 0x3B , CTAP1_ERR_OTHER = 0x7F ,
  CTAP2_ERR_SPEC_LAST = 0xDF , CTAP2_ERR_EXTENSION_FIRST = 0xE0 , CTAP2_ERR_EXTENSION_LAST = 0xEF , CTAP2_ERR_VENDOR_FIRST = 0xF0 ,
  CTAP2_ERR_VENDOR_LAST = 0xFF
}
 CTAP status codes. More...
 
enum  ctap_method_t {
  CTAP_MAKE_CREDENTIAL = 0x01 , CTAP_GET_ASSERTION = 0x02 , CTAP_GET_INFO = 0x04 , CTAP_CLIENT_PIN = 0x06 ,
  CTAP_RESET = 0x07 , CTAP_GET_NEXT_ASSERTION = 0x08
}
 CTAP methods. More...