@@ -7,49 +7,53 @@ use crate::proto::ctap1::apdu::ApduResponseStatus;
77#[ derive( Debug , IntoPrimitive , TryFromPrimitive , Copy , Clone , PartialEq ) ]
88#[ repr( u8 ) ]
99pub enum CtapError {
10- Ok = 0x00 , // CTAP1_ERR_SUCCESS, CTAP2_OK
11- InvalidCommand = 0x01 , // CTAP1_ERR_INVALID_COMMAND
12- InvalidParameter = 0x02 , // CTAP1_ERR_INVALID_PARAMETER
13- InvalidLength = 0x03 , // CTAP1_ERR_INVALID_LENGTH
14- InvalidSeq = 0x04 , // CTAP1_ERR_INVALID_SEQ
15- Timeout = 0x05 , // CTAP1_ERR_TIMEOUT
16- ChannelBusy = 0x06 , // CTAP1_ERR_CHANNEL_BUSY
17- LockRequired = 0x0A , // CTAP1_ERR_LOCK_REQUIRED
18- InvalidChannel = 0x0B , // CTAP1_ERR_INVALID_CHANNEL
19- InvalidCborType = 0x11 , // CTAP2_ERR_CBOR_UNEXPECTED_TYPE
20- InvalidCbor = 0x12 , // CTAP2_ERR_INVALID_CBOR
21- MissingParameter = 0x14 , // CTAP2_ERR_MISSING_PARAMETER
22- LimitExceeded = 0x15 , // CTAP2_ERR_LIMIT_EXCEEDED,
23- UnsupportedExtension = 0x16 , // CTAP2_ERR_UNSUPPORTED_EXTENSION
24- CredentialExcluded = 0x19 , // CTAP2_ERR_CREDENTIAL_EXCLUDED
25- Processing = 0x21 , // CTAP2_ERR_PROCESSING
26- InvalidCredential = 0x22 , // CTAP2_ERR_INVALID_CREDENTIAL
27- UserActionPending = 0x23 , // CTAP2_ERR_USER_ACTION_PENDING
28- OperationPending = 0x24 , // CTAP2_ERR_OPERATION_PENDING
29- NoOperations = 0x25 , // CTAP2_ERR_NO_OPERATIONS
30- UnsupportedAlgorithm = 0x26 , // CTAP2_ERR_UNSUPPORTED_ALGORITHM
31- OperationDenied = 0x27 , // CTAP2_ERR_OPERATION_DENIED
32- KeyStoreFull = 0x28 , // CTAP2_ERR_KEY_STORE_FULL
33- NoOperationPending = 0x2A , // CTAP2_ERR_NO_OPERATION_PENDING
34- UnsupportedOption = 0x2B , // CTAP2_ERR_UNSUPPORTED_OPTION
35- InvalidOption = 0x2C , // CTAP2_ERR_INVALID_OPTION
36- KeepAliveCancel = 0x2D , // CTAP2_ERR_KEEPALIVE_CANCEL
37- NoCredentials = 0x2E , // CTAP2_ERR_NO_CREDENTIALS
38- UserActionTimeout = 0x2F , // CTAP2_ERR_USER_ACTION_TIMEOUT
39- NotAllowed = 0x30 , // CTAP2_ERR_NOT_ALLOWED
40- PINInvalid = 0x31 , // CTAP2_ERR_PIN_INVALID
41- PINBlocked = 0x32 , // CTAP2_ERR_PIN_BLOCKED
42- PINAuthInvalid = 0x33 , // CTAP2_ERR_PIN_AUTH_INVALID
43- PINAuthBlocked = 0x34 , // CTAP2_ERR_PIN_AUTH_BLOCKED
44- PINNotSet = 0x35 , // CTAP2_ERR_PIN_NOT_SET
45- PINRequired = 0x36 , // CTAP2_ERR_PIN_REQUIRED
46- PINPolicyViolation = 0x37 , // CTAP2_ERR_PIN_POLICY_VIOLATION
47- PINTokenExpired = 0x38 , // CTAP2_ERR_PIN_TOKEN_EXPIRED
48- RequestTooLarge = 0x39 , // CTAP2_ERR_REQUEST_TOO_LARGE
49- ActionTimeout = 0x3A , // CTAP2_ERR_ACTION_TIMEOUT
50- UserPresenceRequired = 0x3B , // CTAP2_ERR_UP_REQUIRED
51- UVInvalid = 0x3F , // CTAP2_ERR_UV_INVALID
52- Other = 0x7F , // CTAP1_ERR_OTHER
10+ Ok = 0x00 , // CTAP1_ERR_SUCCESS, CTAP2_OK
11+ InvalidCommand = 0x01 , // CTAP1_ERR_INVALID_COMMAND
12+ InvalidParameter = 0x02 , // CTAP1_ERR_INVALID_PARAMETER
13+ InvalidLength = 0x03 , // CTAP1_ERR_INVALID_LENGTH
14+ InvalidSeq = 0x04 , // CTAP1_ERR_INVALID_SEQ
15+ Timeout = 0x05 , // CTAP1_ERR_TIMEOUT
16+ ChannelBusy = 0x06 , // CTAP1_ERR_CHANNEL_BUSY
17+ LockRequired = 0x0A , // CTAP1_ERR_LOCK_REQUIRED
18+ InvalidChannel = 0x0B , // CTAP1_ERR_INVALID_CHANNEL
19+ InvalidCborType = 0x11 , // CTAP2_ERR_CBOR_UNEXPECTED_TYPE
20+ InvalidCbor = 0x12 , // CTAP2_ERR_INVALID_CBOR
21+ MissingParameter = 0x14 , // CTAP2_ERR_MISSING_PARAMETER
22+ LimitExceeded = 0x15 , // CTAP2_ERR_LIMIT_EXCEEDED,
23+ UnsupportedExtension = 0x16 , // CTAP2_ERR_UNSUPPORTED_EXTENSION
24+ CredentialExcluded = 0x19 , // CTAP2_ERR_CREDENTIAL_EXCLUDED
25+ Processing = 0x21 , // CTAP2_ERR_PROCESSING
26+ InvalidCredential = 0x22 , // CTAP2_ERR_INVALID_CREDENTIAL
27+ UserActionPending = 0x23 , // CTAP2_ERR_USER_ACTION_PENDING
28+ OperationPending = 0x24 , // CTAP2_ERR_OPERATION_PENDING
29+ NoOperations = 0x25 , // CTAP2_ERR_NO_OPERATIONS
30+ UnsupportedAlgorithm = 0x26 , // CTAP2_ERR_UNSUPPORTED_ALGORITHM
31+ OperationDenied = 0x27 , // CTAP2_ERR_OPERATION_DENIED
32+ KeyStoreFull = 0x28 , // CTAP2_ERR_KEY_STORE_FULL
33+ NoOperationPending = 0x2A , // CTAP2_ERR_NO_OPERATION_PENDING
34+ UnsupportedOption = 0x2B , // CTAP2_ERR_UNSUPPORTED_OPTION
35+ InvalidOption = 0x2C , // CTAP2_ERR_INVALID_OPTION
36+ KeepAliveCancel = 0x2D , // CTAP2_ERR_KEEPALIVE_CANCEL
37+ NoCredentials = 0x2E , // CTAP2_ERR_NO_CREDENTIALS
38+ UserActionTimeout = 0x2F , // CTAP2_ERR_USER_ACTION_TIMEOUT
39+ NotAllowed = 0x30 , // CTAP2_ERR_NOT_ALLOWED
40+ PINInvalid = 0x31 , // CTAP2_ERR_PIN_INVALID
41+ PINBlocked = 0x32 , // CTAP2_ERR_PIN_BLOCKED
42+ PINAuthInvalid = 0x33 , // CTAP2_ERR_PIN_AUTH_INVALID
43+ PINAuthBlocked = 0x34 , // CTAP2_ERR_PIN_AUTH_BLOCKED
44+ PINNotSet = 0x35 , // CTAP2_ERR_PIN_NOT_SET
45+ PINRequired = 0x36 , // CTAP2_ERR_PIN_REQUIRED
46+ PINPolicyViolation = 0x37 , // CTAP2_ERR_PIN_POLICY_VIOLATION
47+ PINTokenExpired = 0x38 , // CTAP2_ERR_PIN_TOKEN_EXPIRED
48+ RequestTooLarge = 0x39 , // CTAP2_ERR_REQUEST_TOO_LARGE
49+ ActionTimeout = 0x3A , // CTAP2_ERR_ACTION_TIMEOUT
50+ UserPresenceRequired = 0x3B , // CTAP2_ERR_UP_REQUIRED
51+ UvBlocked = 0x3C , // CTAP2_ERR_UV_BLOCKED
52+ IntegrityFailure = 0x3D , // CTAP2_ERR_INTEGRITY_FAILURE
53+ InvalidSubcommand = 0x3E , // CTAP2_ERR_INVALID_SUBCOMMAND
54+ UVInvalid = 0x3F , // CTAP2_ERR_UV_INVALID
55+ UnauthorizedPermission = 0x40 , // CTAP2_ERR_UNAUTHORIZED_PERMISSION
56+ Other = 0x7F , // CTAP1_ERR_OTHER
5357}
5458
5559impl CtapError {
0 commit comments