To make the authenticator compatible with more 2FA providers I added 2 new features. The first one is 8 digit token support. With this feature tokens of 8 digits can now be generated, displayed and typed using the HID keyboard.
TOTP authenticator displaying a 8 digit token
To configure the 8 digit tokens the "digits" field in the CSV file can be set 8 when creating a profile. This changes that specific profile to show 8 digits. Another new feature in the CSV file is supporting base32 strings as key input. These can now be entered with the prefix "b32". See the example in the CSV file for more info. (keys are still limited to 320 bits. If the key has more data it will be ignored)
Example of a config file with a 8 digit token and base32 key
I also added the profiles in the linker script. The code will use the addresses provided by the linkerscript. This makes it easier to change the location without looking into the code. To move the profile section only the section address and length need to be changed. Currently only 2k (64 bytes * 32 entries) is used in the profile section. As we need to erase a whole sector to reprogram flash the profile region is set to the whole sector. When moving this should be taken into account.
Memory usage with a seperate profiles region
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.