aboutsummaryrefslogtreecommitdiff
path: root/unittest/constants.py
blob: 4047f59c3eba5b063ee136747ed0c7eee566eb5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
"""
Copyright (c) 2015-2018 Nitrokey UG

This file is part of libnitrokey.

libnitrokey is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
any later version.

libnitrokey is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with libnitrokey. If not, see <http://www.gnu.org/licenses/>.

SPDX-License-Identifier: LGPL-3.0
"""
from misc import to_hex, bb

RFC_SECRET_HR = '12345678901234567890'
RFC_SECRET = to_hex(RFC_SECRET_HR)  # '31323334353637383930...'
bbRFC_SECRET = bb(RFC_SECRET)


# print( repr((RFC_SECRET, RFC_SECRET_, len(RFC_SECRET))) )

class DefaultPasswords:
    ADMIN = b'12345678'
    USER = b'123456'
    ADMIN_TEMP = b'123123123'
    USER_TEMP = b'234234234'
    UPDATE = b'12345678'
    UPDATE_TEMP = b'123update123'
    UPDATE_LONG = b'1234567890'*2
    UPDATE_TOO_LONG = UPDATE_LONG + b'x'
    UPDATE_TOO_SHORT = UPDATE_LONG[:7]


class DeviceErrorCode:
    STATUS_OK = 0
    BUSY = 1 # busy or busy progressbar in place of wrong_CRC status
    NOT_PROGRAMMED = 3
    WRONG_PASSWORD = 4
    STATUS_NOT_AUTHORIZED = 5
    STATUS_AES_DEC_FAILED = 0xa
    STATUS_UNKNOWN_ERROR = 100
    STATUS_DISCONNECTED = 255


class LibraryErrors:
    TOO_LONG_STRING = 200
    INVALID_SLOT = 201
    INVALID_HEX_STRING = 202
    TARGET_BUFFER_SIZE_SMALLER_THAN_SOURCE = 203


HOTP_slot_count = 3
TOTP_slot_count = 15
PWS_SLOT_COUNT = 16