muji
28ebb0e97c
Support zeroize feature.
2022-11-02 11:14:18 +08:00
constantoine
0f917c4aac
Fix warning
...
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-10-10 11:15:57 +02:00
constantoine
60514fde9a
Add tests
...
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-10-10 11:08:40 +02:00
constantoine
0f0e7d6032
Cargo fmt
...
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-10-05 11:55:37 +02:00
constantoine
4d9e41ee68
Fix clippy warnings
...
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-10-05 11:45:21 +02:00
constantoine
edf3db0263
Add raw canvas private method in order to test the canvas raw data, and not the encoded png data
...
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-10-04 16:41:50 +02:00
Cléo Rebert
26416df28b
Fix totp_url export
...
* base32 unexported
* Secret comparison is now constant_time
2022-08-13 11:23:03 +02:00
constantoine
cd903afbd7
Make otpauth fields only appear with otpauth feature
...
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-09 11:05:36 +02:00
Steven Salaun
991a07bb8f
fix doc example
2022-08-08 20:50:09 +02:00
Steven Salaun
ab7bde0866
Merge branch 'master' into secret
2022-08-08 20:28:51 +02:00
Steven Salaun
ba130aaafc
Merge branch 'master' into secret
2022-08-08 20:15:31 +02:00
constantoine
8e890ac14d
Refactor error handling
...
Closes #23
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-08 19:52:54 +02:00
Cléo Rebert
2cb5ec2b7a
Merge pull request #26 from steven89/rfc
...
Rfc6238 struct
2022-08-08 17:56:32 +02:00
Steven Salaun
fe2363c77b
TOTP::new checks digits value compliance to rfc
2022-08-08 17:30:27 +02:00
Steven Salaun
f65a2e840a
add `Secret` enum & `gen_secret` feature
...
- Make the distinction between encoded/non-encoded secret clear,
and allows for easy transformation betwen the two formats
- add `gen_secret` feature to allow easy generation of CSPRNG secret,
also add function to generate rfc recommended length secret
2022-08-06 23:04:50 +02:00
Steven Salaun
3bdb91fad7
clarifies doc for `secret`: should be non-encoded
2022-08-06 22:58:57 +02:00
Steven Salaun
40196c5ed9
add `ttl` to TOTP
2022-08-06 17:49:40 +02:00
Steven Salaun
6623af9d3e
Rfc6238 struct
2022-08-06 17:31:11 +02:00
constantoine
263299be14
Fix url related bugs
...
* Bug where your issuer would be incorrectly prefixed with a /, and comparison with the issuer parameter would fail
* Bug where the issuer and account name in path would not be correctly url decoded in path, but correctly decoded in url query
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-06-16 11:48:34 +02:00
constantoine
4f32055d8b
Add next_step and next_step_current methods
...
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-05-20 17:43:39 +02:00
constantoine
ff6f562ab7
The return of otpauth
...
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-20 15:00:12 +02:00
Cléo Rebert
eba97c0ffa
Finish work on v2
...
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-15 13:41:19 +02:00
constantoine
d6d08b1a1e
Start working on v2
...
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-13 14:06:25 +02:00
wyhaya
3233669847
Add TOTP::from_url
2022-05-06 20:36:43 +08:00
constantoine
6c19202404
Add tests for generate_current and check_current
...
Also updated docs to reflect those changes
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-06 12:41:30 +02:00
wyhaya
1e54605808
Add check_current
2022-05-06 17:55:31 +08:00
wyhaya
d54f86592c
Support generate token from the current time
2022-05-06 17:35:49 +08:00
constantoine
bacf1c4fb4
Switch to qrcodegen, and update image dependency
...
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-05 12:00:30 +02:00
Cleo Rebert
1f1e1a6fe7
Add constant-time token comparison and partialEq trait
...
Add PartialEq for TOTP<T> and PartialEq+Eq for Algorithm
2022-04-24 16:41:56 +02:00
ironhaven
c30d02b512
Use last byte of HMAC output for truncating
...
This is to use the least significant byte of the HMAC regardless of size. RFC 6328 (TOTP) Section 1.2 says you can use SHA-1 SHA-256 or SHA-512 with the same algorithm of RFC 4226 (HTOP). This seems ok until you realize that all the new HMACs have different output sizes and HTOP only expects a 20 byte fixed MAC. It is not completely clear if RFC 4226 Section 5.3 means "get the bottom 4 bits from byte at offset 19" or "get the 4 least significant bits". Other implementations (6568c1a83a/src/pyotp/otp.py (L28)
) and Wikipedia read the "Dynamic Truncation" algorithm to be the last 4 bits of the MAC, so I think this implementation should follow the others.
2022-03-07 23:10:31 -06:00
muji
9888507d16
Add notes to doc comments.
2022-02-10 17:00:33 +08:00
constantoine
4b486b5aa6
Removed byteorder dependency
2022-01-20 17:58:27 +01:00
Cléo Rebert
b68dd87ce2
Hash refactor
2022-01-13 21:52:55 +01:00
Cléo Rebert
97695cf26d
Updated dependencies, bumped to 2021 edition
...
- Updated sha2 from a yanked version
- Updated sha-1
- Updated hmac
- Updated byteorder
- Updated base64
2022-01-13 15:55:04 +01:00
Cléo Rebert
981ad64477
Fixed warning about deprecated type alias
2020-11-02 23:21:19 +01:00
evenorog
ffe9e4d50f
Remove some unnecessary to_vec calls in code
2020-08-09 20:10:44 +02:00
evenorog
61fc895267
Be generic over secret type
...
Allow to store anything that implement AsRef<[u8]> as secret in TOTP
struct.
2020-08-05 13:24:34 +02:00
Cleo Rebert
d7f8790243
Optionnal serde support for smaller builds
2020-07-03 14:34:58 +02:00
Mark Nijboer
2c12f47652
* Changed version to 0.4.0 and updated docs
2020-06-22 16:16:05 +02:00
Mark Nijboer
66ef16fb45
* Added unit tests, replaced String for &str and removed println
2020-06-22 16:09:53 +02:00
Cleo Rebert
bb9b5d851c
Fixed documentation
2020-06-21 19:08:52 +02:00
hebriel
64faae59f6
Changed a bunch of to_string() to to_owned()
2020-06-21 16:39:00 +02:00
Cleo Rebert
32b618c827
Additional feature!
2020-06-21 15:57:16 +02:00
Cleo Rebert
bba8e818da
Switched from ring to the RustCrypto project
2020-06-16 14:39:08 +02:00
Cleo Rebert
0c19a359c3
Changed dependencies + removed one
2020-04-25 19:20:11 +02:00
Cleo Rebert
9064404264
Implemented serialize and clone fot both TOTP and Algorithm. Only Algorithm is copy
2020-04-14 12:51:44 +02:00
Cleo Rebert
c9b81c70c1
Better doc with examples
2020-04-13 22:57:06 +02:00
Cleo Rebert
8a236fbdea
fixed typo
2020-04-13 18:09:02 +02:00
Cleo Rebert
7876ca57c7
exported fields to export documentation
2020-04-13 17:59:04 +02:00
Cleo Rebert
6b091b7e08
cargo fmt
2020-04-13 17:02:00 +02:00
Cleo Rebert
bf2d753f72
preparations to push to crates.io
2020-04-13 16:59:30 +02:00
Cleo Rebert
e4915a6446
Finally, my own library. With a fix on the QR code generation
2020-04-13 16:39:57 +02:00
Cleo Rebert
d1e04d7c6e
First commit
2020-04-11 21:24:50 +02:00