src/lib.rs


Log

Author Commit Date CI Message
Cléo REBERT c2ba6d19 2023-03-28T10:58:39 Replace deprecated base64 call Signed-off-by: Cléo REBERT <cleo.rebert-ext@treezor.com>
timvisee 5f676dd3 2023-01-13T20:24:36 Only add digits and algorithm parameters to URL for non default values
timvisee d2c6ae62 2023-01-12T14:22:12 Fix unit tests for get_url change
timvisee d866af6b 2023-01-12T14:10:13 Add period to URL if value is not default
timvisee aa719c5d 2023-01-12T14:09:37 Simplify parameter handling in URL generation, fix invalid step in tests
timvisee 1a64130e 2023-01-14T13:07:27 Decode account name before splitting issuer and account name parts
Cléo REBERT cc1474a7 2023-01-06T11:30:24 chore(FLOW-2123): Fix tests Signed-off-by: Cléo REBERT <cleo.rebert-ext@treezor.com>
timvisee 068b746a 2023-01-04T16:20:38 Parse otpauth URL with Steam as issuer as Steam TOTP
timvisee c5fd8207 2023-01-03T18:49:47 Add TOTP::new_steam as custom provider
timvisee 3f7f9129 2023-01-03T18:36:35 Generate proper URLs for Steam algorithm
timvisee a5b97d1f 2023-01-02T21:55:49 Add Steam algorithm behind 'steam' feature
timvisee d2930683 2023-01-03T17:55:34 Add issue and account name colon check back, fix unchecked doctests
timvisee 39e0d16d 2023-01-03T11:58:59 Add TOTP::from_url_unchecked variant with uses TOTP::new_unchecked
timvisee 505569fa 2023-01-03T11:52:43 Remove issuer and account name colon check in TOTP::new method
timvisee 6bdbd591 2023-01-03T11:49:10 Add TOTP::new_unchecked methods
Cléo Rebert cf6029aa 2022-12-22T16:53:41 Drop generic support
Cléo Rebert 608b6f28 2022-12-22T16:40:19 Merge pull request #40 from tmpfs/zeroize Support zeroize feature.
constantoine fb9ada36 2022-11-02T11:33:26 cargo fmt Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
constantoine d901803c 2022-11-02T11:32:10 Better error handling -Implement Display for TOTP -Make get_qr() Error type be a string Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
muji 28ebb0e9 2022-11-02T11:14:18 Support zeroize feature.
constantoine 0f917c4a 2022-10-10T11:15:57 Fix warning Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
constantoine 60514fde 2022-10-10T11:08:40 Add tests Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
constantoine 0f0e7d60 2022-10-05T11:55:37 Cargo fmt Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
constantoine 4d9e41ee 2022-10-05T11:45:21 Fix clippy warnings Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
constantoine edf3db02 2022-10-04T16:41:50 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>
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