src/lib.rs


Log

Author Commit Date CI Message
Cléo Rebert 26416df2 2022-08-13T11:23:03 Fix totp_url export * base32 unexported * Secret comparison is now constant_time
constantoine cd903afb 2022-08-09T11:05:36 Make otpauth fields only appear with otpauth feature Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
Steven Salaun 991a07bb 2022-08-08T20:50:09 fix doc example
Steven Salaun ab7bde08 2022-08-08T20:28:51 Merge branch 'master' into secret
Steven Salaun ba130aaa 2022-08-08T20:15:31 Merge branch 'master' into secret
constantoine 8e890ac1 2022-08-08T19:52:54 Refactor error handling Closes #23 Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
Cléo Rebert 2cb5ec2b 2022-08-08T17:56:32 Merge pull request #26 from steven89/rfc Rfc6238 struct
Steven Salaun fe2363c7 2022-08-08T17:30:27 TOTP::new checks digits value compliance to rfc
Steven Salaun f65a2e84 2022-08-06T23:04:50 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
Steven Salaun 3bdb91fa 2022-08-06T22:58:57 clarifies doc for `secret`: should be non-encoded
Steven Salaun 40196c5e 2022-08-06T17:49:40 add `ttl` to TOTP
Steven Salaun 6623af9d 2022-08-06T17:31:11 Rfc6238 struct
constantoine 263299be 2022-06-16T11:48:34 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>
constantoine 4f32055d 2022-05-20T17:43:39 Add next_step and next_step_current methods Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
constantoine ff6f562a 2022-05-20T15:00:12 The return of otpauth Signed-off-by: constantoine <cleo.rebert@gmail.com>
Cléo Rebert eba97c0f 2022-05-15T13:41:19 Finish work on v2 Signed-off-by: constantoine <cleo.rebert@gmail.com>
constantoine d6d08b1a 2022-05-13T14:06:25 Start working on v2 Signed-off-by: constantoine <cleo.rebert@gmail.com>
wyhaya 32336698 2022-05-06T20:36:43 Add TOTP::from_url
constantoine 6c192024 2022-05-06T12:41:30 Add tests for generate_current and check_current Also updated docs to reflect those changes Signed-off-by: constantoine <cleo.rebert@gmail.com>
wyhaya 1e546058 2022-05-06T17:55:31 Add check_current
wyhaya d54f8659 2022-05-06T17:35:49 Support generate token from the current time
constantoine bacf1c4f 2022-05-05T11:50:41 Switch to qrcodegen, and update image dependency Signed-off-by: constantoine <cleo.rebert@gmail.com>
Cleo Rebert 1f1e1a6f 2022-04-24T16:41:56 Add constant-time token comparison and partialEq trait Add PartialEq for TOTP<T> and PartialEq+Eq for Algorithm
ironhaven c30d02b5 2022-03-07T23:10:31 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 (https://github.com/pyauth/pyotp/blob/6568c1a83af8e0229f3c4b28d03552d601e2b7fe/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.
muji 9888507d 2022-02-10T17:00:33 Add notes to doc comments.
constantoine 4b486b5a 2022-01-20T17:58:27 Removed byteorder dependency
Cléo Rebert b68dd87c 2022-01-13T21:52:55 Hash refactor
Cléo Rebert 97695cf2 2022-01-13T15:55:04 Updated dependencies, bumped to 2021 edition - Updated sha2 from a yanked version - Updated sha-1 - Updated hmac - Updated byteorder - Updated base64
Cléo Rebert 981ad644 2020-11-02T23:21:19 Fixed warning about deprecated type alias
evenorog ffe9e4d5 2020-08-09T20:10:44 Remove some unnecessary to_vec calls in code
evenorog 61fc8952 2020-08-05T13:24:34 Be generic over secret type Allow to store anything that implement AsRef<[u8]> as secret in TOTP struct.
Cleo Rebert d7f87902 2020-07-03T14:34:58 Optionnal serde support for smaller builds
Mark Nijboer 2c12f476 2020-06-22T16:16:05 * Changed version to 0.4.0 and updated docs
Mark Nijboer 66ef16fb 2020-06-22T16:09:53 * Added unit tests, replaced String for &str and removed println
Cleo Rebert bb9b5d85 2020-06-21T19:08:52 Fixed documentation
hebriel 64faae59 2020-06-21T16:39:00 Changed a bunch of to_string() to to_owned()
Cleo Rebert 32b618c8 2020-06-21T15:57:16 Additional feature!
Cleo Rebert bba8e818 2020-06-16T14:39:08 Switched from ring to the RustCrypto project
Cleo Rebert 0c19a359 2020-04-25T19:20:11 Changed dependencies + removed one
Cleo Rebert 90644042 2020-04-14T12:51:22 Implemented serialize and clone fot both TOTP and Algorithm. Only Algorithm is copy
Cleo Rebert c9b81c70 2020-04-13T22:57:06 Better doc with examples
Cleo Rebert 8a236fbd 2020-04-13T18:09:02 fixed typo
Cleo Rebert 7876ca57 2020-04-13T17:59:04 exported fields to export documentation
Cleo Rebert 6b091b7e 2020-04-13T17:02:00 cargo fmt
Cleo Rebert bf2d753f 2020-04-13T16:59:30 preparations to push to crates.io
Cleo Rebert e4915a64 2020-04-13T16:39:57 Finally, my own library. With a fix on the QR code generation
Cleo Rebert d1e04d7c 2020-04-11T21:24:50 First commit