Commit Graph

23 Commits

Author SHA1 Message Date
Lucas 15bcd35557 Add base32 decoder 2021-02-12 03:03:30 +00:00
Lucas 3e8b900464 Change -h to -a 2021-02-12 01:41:54 +00:00
Lucas fcd0f1747c Rename step -> period 2021-02-12 01:38:22 +00:00
Lucas a51a5b5b0d Use getline 2021-02-11 23:13:08 +00:00
Lucas dde97e45d0 Don't call otp if the hmac is unknown 2021-02-11 21:21:01 +00:00
Lucas 4d2024128e Fix an overflow for 10-digits OTP 2021-02-11 21:20:06 +00:00
Lucas 0b93ea8653 Rework copyright notices
While at it, rename mystrtonum.[ch] to strtonum.[ch].
2021-02-11 21:04:05 +00:00
Lucas 33cc12f030 Also run tests with standard input
While there, add a explicit `-h sha1` to TOTP tests.
2020-06-15 23:57:39 +00:00
Lucas bec943d06d Read key from standard input if there are no arguments 2020-06-15 23:57:28 +00:00
Lucas e1eb8b8d95 Be noisy when both -H and -T are given 2020-06-14 18:23:14 +00:00
Lucas 24fbaa6e82 Default counter to current seconds since epoch 2020-06-14 18:11:59 +00:00
Lucas ecc23ff01f Add options for configuring digits and time step
Default digits to 6 and time step to 30 seconds. This implies passing
`-d 8' to all TOTP test cases.
2020-06-14 18:06:25 +00:00
Lucas 95341d4ca2 Fix test cases for TOTP
RFC 6238 isn't clear enough in the Test Vectors section, and the
different HMAC algorithms use different secrets.
2020-06-14 17:58:01 +00:00
Lucas 4e95ab2b5d Add -h flag for using a HMAC other than SHA1 2020-06-14 17:57:42 +00:00
Lucas 88ec5427c7 Specify the OTP width while printing 2020-06-14 17:33:11 +00:00
Lucas 41ca24d151 Add TOTP support
Add all the test vectors from RFC 6238, but comment the non-SHA1 ones
for the time being.
2020-06-14 17:31:33 +00:00
Lucas 22333c5d6e Change totp to take a uint64_t instead of time_t
Let the application deal with converting time_t to uint64_t. For TOTP,
it's just a counter.

While there, rename 'granularity' to 'step', as it's used in RFC 6238.
2020-06-14 17:13:07 +00:00
Lucas 9a5f0f724e Use strtonum-like functions for parsing numeric arguments 2020-06-14 17:12:55 +00:00
Lucas 55b0b396dc Small update to err.[ch] 2020-06-14 15:00:33 +00:00
Lucas 84587a4c32 Add test cases for HOTP 2020-06-14 04:21:11 +00:00
Lucas 92539dcf58 Add basic CLI support for HOTP 2020-06-14 04:20:51 +00:00
Lucas a28d7cca02 Add HOTP implementation 2020-06-14 04:02:13 +00:00
Lucas 46dd62038f Initial commit 2020-06-14 03:23:29 +00:00