Esempio n. 1
0
    def test_clean_signature_empty(self):
        form = Fido2AuthenticationForm({
            'client_data': 'e30=',
            'credential_id': 'AA==',
            'authenticator_data': AUTHENTICATOR_DATA,
            'signature': ''
        })

        self.assertFalse(form.is_valid())
        self.assertEqual(form.errors,
                         {'signature': ["Operation wasn't completed."]})
Esempio n. 2
0
    def test_clean_signature_invalid(self):
        form = Fido2AuthenticationForm({
            'client_data': 'e30=',
            'credential_id': 'AA==',
            'authenticator_data': AUTHENTICATOR_DATA,
            'signature': 'A'
        })

        self.assertFalse(form.is_valid())
        self.assertEqual(form.errors,
                         {'signature': ['FIDO 2 response is malformed.']})
Esempio n. 3
0
    def test_clean_client_data(self):
        form = Fido2AuthenticationForm({
            'client_data': 'eyJjaGFsbGVuZ2UiOiAiR2F6cGFjaG8hIn0=',
            'credential_id': 'AA==',
            'authenticator_data': AUTHENTICATOR_DATA,
            'signature': 'AA=='
        })

        self.assertTrue(form.is_valid())
        cleaned_data = {
            'credential_id':
            b'\0',
            'client_data':
            ClientData(b'{"challenge": "Gazpacho!"}'),
            'authenticator_data':
            AuthenticatorData(base64.b64decode(AUTHENTICATOR_DATA)),
            'signature':
            b'\0'
        }
        self.assertEqual(form.cleaned_data, cleaned_data)
Esempio n. 4
0
    def test_clean_signature(self):
        form = Fido2AuthenticationForm({
            'client_data': 'e30=',
            'credential_id': 'AA==',
            'authenticator_data': AUTHENTICATOR_DATA,
            'signature': 'GAZPACHO'
        })

        self.assertTrue(form.is_valid())
        cleaned_data = {
            'credential_id':
            b'\0',
            'client_data':
            ClientData(b'{}'),
            'authenticator_data':
            AuthenticatorData(base64.b64decode(AUTHENTICATOR_DATA)),
            'signature':
            base64.b64decode('GAZPACHO')
        }
        self.assertEqual(form.cleaned_data, cleaned_data)