pass ctap tests on PC

This commit is contained in:
Conor Patrick 2018-09-04 22:11:21 -04:00
parent 599a9ad18d
commit 2439c4f176
6 changed files with 20 additions and 7 deletions

View File

@ -19,6 +19,15 @@ cd ..
cd python-fido2/ cd python-fido2/
python setup.py install python setup.py install
```
Open `crypto/tiny-AES-c/aes.h` in a text editor and make sure AES256 is selected as follows.
```
//#define AES128 1
//#define AES192 1
#define AES256 1
``` ```
Now compile FIDO 2.0 and U2F authenticator. Now compile FIDO 2.0 and U2F authenticator.

View File

@ -30,7 +30,7 @@ int main(int argc, char * argv[])
TAG_WALLET | TAG_WALLET |
TAG_STOR | TAG_STOR |
/*TAG_CP |*/ /*TAG_CP |*/
// TAG_CTAP| TAG_CTAP|
// TAG_HID| // TAG_HID|
/*TAG_U2F|*/ /*TAG_U2F|*/
/*TAG_PARSE |*/ /*TAG_PARSE |*/

View File

@ -12,6 +12,8 @@
#define USING_PC #define USING_PC
#define DEBUG_LEVEL 1
//#define BRIDGE_TO_WALLET //#define BRIDGE_TO_WALLET
void printing_init(); void printing_init();

View File

@ -162,7 +162,7 @@ void heartbeat()
void ctaphid_write_block(uint8_t * data) void ctaphid_write_block(uint8_t * data)
{ {
printf("<< "); dump_hex(data, 64); /*printf("<< "); dump_hex(data, 64);*/
usbhid_send(data); usbhid_send(data);
} }

@ -1 +1 @@
Subproject commit 38c093ef0e88baa5b9cd289afc182d1ac85cef55 Subproject commit 4964d98ca6d0cfc24cd49926521282b8e92c598d

View File

@ -46,7 +46,7 @@ class Tester():
raise RuntimeError('No FIDO device found') raise RuntimeError('No FIDO device found')
self.dev = dev self.dev = dev
self.client = Fido2Client(dev, self.origin) self.client = Fido2Client(dev, self.origin)
self.ctap = self.client.ctap self.ctap = self.client.ctap2
# consume timeout error # consume timeout error
#cmd,resp = self.recv_raw() #cmd,resp = self.recv_raw()
@ -470,6 +470,8 @@ class Tester():
attest, data = self.client.make_credential(rp, user, challenge, pin = PIN + ' ', exclude_list = []) attest, data = self.client.make_credential(rp, user, challenge, pin = PIN + ' ', exclude_list = [])
except CtapError as e: except CtapError as e:
assert(e.code == CtapError.ERR.PIN_INVALID) assert(e.code == CtapError.ERR.PIN_INVALID)
except ClientError as e:
assert(e.cause.code == CtapError.ERR.PIN_INVALID)
print('PASS') print('PASS')
print('make credential with exclude list') print('make credential with exclude list')
@ -572,11 +574,11 @@ if __name__ == '__main__':
t = Tester() t = Tester()
t.find_device() t.find_device()
#t.test_hid() #t.test_hid()
t.test_long_ping() #t.test_long_ping()
#t.test_fido2() t.test_fido2()
#test_find_brute_force() #test_find_brute_force()
#t.test_fido2_simple() #t.test_fido2_simple()
t.test_fido2_brute_force() # t.test_fido2_brute_force()