Commit Graph

117 Commits

Author SHA1 Message Date
constantoine 537350ad8b
Prepare for release and update Workflow
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-09 11:06:25 +02:00
constantoine 994efb7214
Updated README and added a summary with updated examples
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-09 11:06:07 +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
constantoine 0103e7a6e5
Add test to secret.rs
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-09 11:04:11 +02:00
Cléo Rebert 6b9f13f6a2
Merge pull request #25 from steven89/secret
Improve secret handling
2022-08-08 20:54:16 +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
Cléo Rebert 2207859e2c
Merge pull request #27 from constantoine/error_handling
Refactor error handling
2022-08-08 20:26:55 +02:00
constantoine e5f152210a
test formatter
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-08 20:23:24 +02:00
Steven Salaun 584b7aa8a7 Merge branch 'secret' of github.com:steven89/totp-rs into secret 2022-08-08 20:19:07 +02:00
Steven Salaun 3d61027d52 Change Secret: Plain to Raw & Base32 to Encoded 2022-08-08 20:19:04 +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 eb9b04433f fix build for serde_support feature 2022-08-08 14:17:23 +02:00
Steven Salaun fcfebe1417 clippy 2022-08-08 14:10:39 +02:00
Cléo Rebert f3719db878
Merge pull request #24 from steven89/ttl
add `ttl` to TOTP
2022-08-08 11:44:21 +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
Cléo Rebert 181d17edcc
Merge pull request #22 from constantoine/21-bug-issuer-error
Fix url related bugs
2022-06-16 11:56:00 +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
Cléo Rebert e8ba6fe083
Merge pull request #20 from constantoine/v2
V2
2022-05-30 21:59:27 +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
constantoine a3b51eea3d
Update version
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-06 15:42:55 +02:00
constantoine 1010772cfb
Update license
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-06 15:41:47 +02:00
Cléo Rebert 49f672d4a3
Merge pull request #19 from wyhaya/master
Add TOTP::from_url
2022-05-06 15:33:51 +02:00
wyhaya 905a119c10 Update README 2022-05-06 20:49:33 +08:00
wyhaya 3233669847 Add TOTP::from_url 2022-05-06 20:36:43 +08:00
Cléo Rebert 733c27970e
Merge pull request #18 from constantoine/add_tests
Add tests for generate_current and check_current
2022-05-06 12:46:00 +02: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
Cléo Rebert 2c75d046ec
Merge pull request #17 from wyhaya/master
Support generating and checking token from the current system time
2022-05-06 12:10:45 +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 64225f5acd
Disable image default features
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-05 12:48:52 +02:00
Cléo Rebert 1f10c8c738
Merge pull request #16 from constantoine/change_qr_lib
Switch to qrcodegen, and update image dependency
2022-05-05 12:10:13 +02:00
constantoine 9b541817a3
Up version
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-05 12:03:41 +02: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
Cléo Rebert 7ecdf7d440
Merge pull request #15 from constantoine/constant_time_eq
Add constant-time token comparison and partialEq trait
2022-04-24 16:48: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
constantoine ba925c2442
Update to 1.0
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-04-15 15:08:41 +02:00
Cléo Rebert 0f245d26cc
Merge pull request #12 from ironhaven/patch-1
Use last byte of HMAC output for truncating
2022-04-08 20:31:05 +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
constantoine d1d6fc0411 Bump version 2022-02-10 11:25:41 +01:00
Cléo Rebert 4ef27bd616
Merge pull request #11 from tmpfs/doc-comment-warning
Warn about silent fallback to SHA1
2022-02-10 10:37:40 +01:00
Cléo Rebert 8db59df6c8
Update README.md 2022-02-10 10:34:28 +01: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
constantoine 2ed419a83e Merge branch 'master' of github.com:constantoine/totp-rs 2022-01-13 22:04:34 +01:00
Cléo Rebert b68dd87ce2 Hash refactor 2022-01-13 21:52:55 +01:00
Cléo Rebert 79b714aeaa
Update README.md 2022-01-13 18:33:59 +01:00
Cléo Rebert f2fb6ae53f
Update security.yml 2022-01-13 18:33:33 +01:00
Cléo Rebert c111632726
Update security.yml 2022-01-13 18:26:45 +01:00
Cléo Rebert 052531694f
Update rust.yml 2022-01-13 18:19:34 +01:00
Cléo Rebert 4f1324411c
Update rust.yml 2022-01-13 18:15:14 +01:00
Cléo Rebert b26322cd33
Update rust.yml 2022-01-13 18:04:12 +01:00
Cléo Rebert 2f864c4585
Update rust.yml 2022-01-13 18:00:02 +01:00
Cléo Rebert 4664298966
Update rust.yml 2022-01-13 17:56:20 +01:00
Cléo Rebert 4e5e605db6 Merge branch 'master' of github.com:constantoine/totp-rs 2022-01-13 17:52:12 +01:00
Cléo Rebert b23080d4de Add crates.io badge and coverage badge 2022-01-13 17:52:06 +01:00
Cléo Rebert aa1dccb397
Create security.yml 2022-01-13 17:41:52 +01:00
Cléo Rebert 5a39aa778b
Update rust.yml 2022-01-13 16:52:27 +01:00
Cléo Rebert f78707cb05 0.7.1 2022-01-13 16:35:38 +01:00
Cléo Rebert d75ca4ddcd Changed to 7.0 for 2021 edition 2022-01-13 16:23:07 +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 43107283ac
Update README.md 2021-08-20 18:59:09 +02:00
Cléo Rebert 0f59d89995 New version 2021-08-20 18:50:56 +02:00
Cléo Rebert de4a4f91c1 Update dependencies 2021-08-20 18:49:34 +02:00
Cléo Rebert 981ad64477 Fixed warning about deprecated type alias 2020-11-02 23:21:19 +01:00
Cleo Rebert 9c84840f65 Bumped Cargo.toml version 2020-09-12 08:55:35 +02:00
Cléo Rebert 8c86a94f3e
Merge pull request #8 from evenorog/master
Remove some unnecessary to_vec calls in code
2020-09-12 08:54:07 +02:00
evenorog ffe9e4d50f Remove some unnecessary to_vec calls in code 2020-08-09 20:10:44 +02:00
Cleo Rebert 12cbfc1005 Updated README.md 2020-08-09 08:36:06 +02:00
Cléo Rebert 730a767b84 Bumped version number in README.md 2020-08-09 08:28:00 +02:00
Cleo Rebert b4c1b5d43c Bumped up major version following PR 2020-08-08 17:21:06 +02:00
Cléo Rebert 54116c0e45
Merge pull request #7 from evenorog/master
Be generic over secret type
2020-08-08 17:18:03 +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
Cleo Rebert 83c0ded335 Change description for shorter 2020-07-03 14:18:16 +02:00
Cleo Rebert a095a89f84 Fixed typo and added tag 2020-06-23 10:30:54 +02:00
Cléo Rebert 9c944c82d4
Added badges 2020-06-22 17:16:42 +02:00
Cléo Rebert 25cacea519
Create rust.yml 2020-06-22 17:10:33 +02:00
Cléo Rebert a8c78041b3
Merge pull request #6 from marknijboer/master
Added unit tests, replaced String for &str and removed println!
2020-06-22 17:05:37 +02:00
Mark Nijboer a80ed7f1d9 * Changed version in README 2020-06-22 17:02:02 +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
Cléo Rebert 77dd798fd3
Merge pull request #5 from underdiskdev/master
Changed a bunch of to_string() to to_owned()
2020-06-21 17:24:48 +02:00
Cléo Rebert e02e1f7ffd
Worth a try 2020-06-21 17:24:32 +02:00
hebriel fd6b23437b bumped to version 0.3.1 2020-06-21 17:02:43 +02:00
Cléo Rebert 5a1e9653c7
Create rust.yml 2020-06-21 16:47:44 +02:00
hebriel 64faae59f6 Changed a bunch of to_string() to to_owned() 2020-06-21 16:39:00 +02:00
Cléo Rebert 9746793f83
delete test file 2020-06-21 16:03:39 +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