Commit Graph

271 Commits

Author SHA1 Message Date
Saber Haj Rabiee 45fb43c1f7 removed unnecessary conversions (#180)
* removed unnecessary conversions
2022-02-02 22:10:11 +01:00
Oliver Thallmair de5a1903b0 add x5c header (#182)
* add x5c header

* fix format
2022-02-02 22:10:11 +01:00
Saber Haj Rabiee f3566ecd82 clone-free validate function (#179)
* clone-free validate function

It could save up to 300ns in my benches
2022-02-02 22:10:11 +01:00
Saber Haj Rabiee d8cc36dd0c clone-free serde Value deserialization (#178)
* clone-free serde Value deserialization
2022-02-02 22:10:11 +01:00
Saber Haj Rabiee 9fd9db55cd Update validation.rs (#176) 2022-02-02 22:10:11 +01:00
Vincent Prouillet 6f05ec9a1a v8 beta1 2022-02-02 22:10:11 +01:00
Saber Haj Rabiee da761fe039 checking iss for multiple values (#173) 2022-02-02 22:10:11 +01:00
Vincent Prouillet 48770d4797 Prepare for v8 2022-02-02 22:10:11 +01:00
Vincent Prouillet 874952b7a5 More clippy 2022-02-02 22:10:11 +01:00
Vincent Prouillet c9442834ed Make DecodingKey own all the data
Closes #120
Supersedes #128
2022-02-02 22:10:11 +01:00
Vincent Prouillet 60c92f2882 Fix clippy 2022-02-02 22:10:11 +01:00
Vincent Prouillet f50e4901cb Avoid allocation 2022-02-02 22:10:11 +01:00
Adrian Black 2aad217087 add verify_sig fn (#161)
* add verify_sig fn

* fix missing comma

* fmt whitespace changes
2022-02-02 22:10:11 +01:00
Vincent Prouillet d2c8ae3f11 Impl PartialEq for ErrorKind
Closes #125
2022-02-02 22:10:11 +01:00
Vincent Prouillet 5c706b005a Remove deprecated fn 2022-02-02 22:10:11 +01:00
Vincent Prouillet 2c9c57fc4b Expose get_current_timestamp
Closes #152
2022-02-02 22:10:11 +01:00
Vincent Prouillet 30571cafd2 Keep RSA key error message from ring
Closes #164
2022-02-02 22:10:11 +01:00
Vincent Prouillet 2662f6ad1f fmt + clippy 2022-02-02 22:10:11 +01:00
Vincent Prouillet ea4ed55551 Bytes everywhere for sign/verify 2022-02-02 22:10:11 +01:00
Charles Lehner 4aee8bc382 Add sign and verify on bytes (#150) 2022-02-02 22:10:11 +01:00
Charles Lehner 2178cc7506 Add EdDSA (Ed25519) (#154) 2022-02-02 22:10:11 +01:00
Vincent Prouillet 445dfe037e Prepare for v8 2022-02-02 22:10:11 +01:00
Arniu Tseng 2f25cbed0a
Add note about encoding keys (#163)
* Add note about encoding keys

* Update encoding.rs

* Format code
2020-12-07 16:00:44 +01:00
Piotr Maks 90b9700748
Clippy (#146)
* Bump minimum required Rust version to 1.40

Motivation for this change is use of `#[non_exhaustive]` attribute that
was stabilized in Rust 1.40.0

* Migrate benchmarks to criterion

Remove use of unstable features in favour of criterion benchmarks

* Enable clippy in Github Actions

* Fix clippy::manual_non_exhaustive

Remove manual implementations of the non-exhaustive pattern. Instead
use the `#[non_exhaustive]` attribute.

* Allow reexport of deprecated function

Silence rustc `deprecated` working in function reexport

* Remove redundant clone

* Fix various clippy warnings

* Remove redundant pattern
* Use `unreachable!()` to fail test
* No need to add `&` to all patterns
2020-08-31 12:04:57 +02:00
Piotr Maks 29aad97739
Format code and check style in Github Actions (#145) 2020-08-07 18:10:26 +02:00
Vincent Prouillet a2c259588a Mention utc timestamps 2020-06-30 21:26:50 +02:00
Ivan Solovev 98efa500f9
Fix documentation (#142)
* Fix documentation

* Fix types in documentation
2020-06-30 21:25:41 +02:00
Vincent Prouillet 7a7367361f
Prepare for 7.2.0 (#143) 2020-06-30 21:25:25 +02:00
Craig Colegrove 64f276c814
Add new function and tests (#138)
Co-authored-by: Vincent Prouillet <balthek@gmail.com>
2020-06-30 20:03:53 +02:00
Vincent Prouillet 6262b4700b Slight tweaks 2020-06-30 19:58:11 +02:00
Craig Colegrove 636c0dc203
Rename dangerous_unsafe_decode to dangerous_insecure_decode (#139)
* Rename dangerous_unsafe_decode to dangerous_insecure_decode

* Add back old function name with deprecation flag
2020-06-30 19:50:45 +02:00
Vincent Prouillet 952d34c139 v7.1.2 2020-06-16 12:07:08 +02:00
Craig Colegrove 693a100128
Derive Hash for Header and Algorithm (#137) 2020-06-16 12:04:22 +02:00
Vincent Prouillet cf6ac78714
Update for 7.1.1 (#134) 2020-06-09 22:00:37 +02:00
Marc Mettke 3cae0df3dd
Updating base64 to 0.12 (#133) 2020-06-09 21:50:19 +02:00
Valentin Brandl 09aad3ca2f
Fix Broken chrono Example (#126)
* Add quickcheck as test dependencie

* Use timestamp nanos

* Add test property for en/decoding

* Fix existing test

* Remove quickcheck dependency

* Normalize `DateTime` values in claims
2020-04-24 19:57:51 +02:00
Vincent Prouillet fa05ece73c Prepare for 7.1.0 2020-03-01 19:58:18 +01:00
Vincent Prouillet d00d2f4e4b
Merge pull request #123 from Hexilee/master
fix issue 120: DecodingKey can be converted to static
2020-03-01 19:55:01 +01:00
Hexilee 946aef1b57 revert breaking change of DecodingKey 2020-02-28 15:20:41 +08:00
Hexilee a750d5586f fix issue 120: DecodingKey can be converted to static 2020-02-28 01:26:58 +08:00
Vincent Prouillet cecc353f02
Merge pull request #121 from jareddlc/readme-update
Update readme
2020-02-21 09:19:06 +01:00
Jared De La Cruz 179f72155f Add claims and validation to the readme 2020-02-20 22:56:09 -08:00
Vincent Prouillet 2484d47f7d v7.0.1 2020-01-30 21:28:00 -08:00
Vincent Prouillet aae977651c
Merge pull request #117 from fujiapple852/hotfix-display-stack-overflow
Fix recursive Display::fmt implementation on Error to avoid stack overflow
2020-01-30 21:26:06 -08:00
FujiApple 2f359b515c - Fix recursive `Display::fmt` implementation on `Error` to avoid stack overflow
- Added unit test to cover a sample case
2020-01-31 13:11:40 +08:00
Vincent Prouillet e89fa41b7a
Merge pull request #91 from Keats/next
7.0.0
2020-01-28 23:00:26 -08:00
Vincent Prouillet b9989d14cf Prepare for release 2020-01-28 18:18:21 -08:00
Vincent Prouillet c2f6093309 Get rid of deprecrated std error description 2020-01-27 20:52:46 -08:00
Vincent Prouillet 1cc14b04eb Beta 1 2020-01-21 07:41:55 -08:00
Vincent Prouillet e46f8f9d58
Merge pull request #113 from Keats/keys_struct
Add EncodingKey & DecodingKey
2020-01-17 20:18:30 +01:00
Vincent Prouillet 689cc6d32e Validate key type with algo in encode/decode 2020-01-13 19:41:06 +01:00
Vincent Prouillet 4dd2f12c6d Remove EncodingKey lifetime 2020-01-02 19:40:53 +01:00
Vincent Prouillet 77ae0effc8 Add DecodingKey 2019-12-29 21:50:06 +01:00
Vincent Prouillet 0abeeac25f Add EncodingKey 2019-12-29 19:33:17 +01:00
Vincent Prouillet 771f955690 Better GH workflow 2019-11-28 19:28:59 +01:00
Vincent Prouillet bfcfc1d341 Handle aud not being a sequence
Closes #110
2019-11-28 19:27:33 +01:00
Vincent Prouillet 499b439cb0 Wrong badge 2019-11-15 20:39:19 +01:00
Vincent Prouillet 8d678086eb v7 alpha 1 2019-11-15 20:37:47 +01:00
Vincent Prouillet 1a727f7095
Merge pull request #107 from Keats/pem-handling
Add PEM decoding support (#106)
2019-11-15 20:29:59 +01:00
Vincent Prouillet d550c5f318 Add more tests and document SEC1 lack of support 2019-11-15 20:16:38 +01:00
Vincent Prouillet 6121db3d07 Min version is 1.36? 2019-11-14 20:35:20 +01:00
Vincent Prouillet b35719b555 Point to validation example 2019-11-14 20:32:03 +01:00
Vincent Prouillet 3fe0bc1f83 Update README 2019-11-14 20:24:38 +01:00
Vincent Prouillet dd642bed1d Use GH actions 2019-11-14 20:02:59 +01:00
Vincent Prouillet 6e8d4a4be6 Remove pem encoding for now 2019-11-14 19:48:38 +01:00
Vincent Prouillet 51dacd9bc4 Update docs 2019-11-14 19:43:43 +01:00
Vincent Prouillet 8e4757cb1d More refactoring in the crypto mod 2019-11-11 20:29:57 +01:00
Vincent Prouillet 1f6d0ffb2c Refactor decoding 2019-11-11 20:16:34 +01:00
Vincent Prouillet 8169ee3d9f Remove chrono from deps 2019-11-11 19:47:35 +01:00
Vincent Prouillet 614f3610a7 Fix stupid bug 2019-11-11 12:08:11 +01:00
Vincent Prouillet b27981549f Not working yet jwk decoding 2019-11-09 11:42:40 +00:00
Vincent Prouillet 34ea194179 Move crypto to a dir 2019-11-08 19:00:19 +00:00
Vincent Prouillet e3632b3a2c Remove Key approach in favour of &[u8] with pem 2019-11-06 22:32:13 +00:00
Vincent Prouillet a6ea8c2c1a clippy + fmt 2019-11-06 18:41:51 +00:00
Vincent Prouillet 382e4478cf Move pem encoding tests 2019-11-06 18:30:59 +00:00
Levi 53188e1f40 Add functions to create pems and ders of the public keys (#108) 2019-11-06 13:58:49 +00:00
Vincent Prouillet 73d96357c3 Simplify header decoding 2019-11-03 16:13:22 +00:00
Vincent Prouillet 417e00780d Use serde with derive feature 2019-11-03 15:46:08 +00:00
Vincent Prouillet 210e96063d Reorganise tests 2019-11-03 15:36:19 +00:00
Vincent Prouillet caef740ad4 Refactoring + more idiomatic enum names 2019-11-03 13:17:04 +00:00
Vincent Prouillet 06bebeaae3 cargo fmt 2019-11-03 12:55:36 +00:00
Vincent Prouillet b9a3e3086f Fix Option handling 2019-11-03 12:36:52 +00:00
Levi 571898252f Add PEM decoding support (#106)
* Add PEM support with pem and simple_asn1. Documentation TODO

* Make pkcs1 and pkcs8 versions of the RSA key, confirm they pass tests.

* Add documentation, simplify

* Update readme

* Bump pem version

* Remove extra print
2019-11-03 12:22:51 +00:00
Vincent Prouillet 639915f25b
Merge pull request #105 from Dowwie/next
Updated aud within Validation, including membership validation testing
2019-11-01 20:06:49 +00:00
dowwie 60a030874a updated imports in validation.rs 2019-10-31 14:12:08 -04:00
dowwie 68d6c84c8c revised set_audience, cleaned up validation, and cleared compiler warnings 2019-10-28 11:49:02 -04:00
dowwie fe10accb6e markedown edit to changelog 2019-10-27 15:16:43 -04:00
dowwie 0d7184a787 added update to aud type and aud validation 2019-10-27 15:14:52 -04:00
Vincent Prouillet 6e2f461a1b Fix readme wrt exp validation
Closes #104
2019-10-23 13:44:46 +01:00
Vincent Prouillet 88187e0365
Merge pull request #96 from briansmith/b/ring-0.16
Use *ring* 0.16.5.
2019-08-11 11:02:26 +02:00
Brian Smith f7423d075a Use *ring* 0.16.5. 2019-08-10 11:38:54 -10:00
Vincent Prouillet 10105af2fd Add support for modulus/exponent 2019-07-13 17:43:44 +02:00
Vincent Prouillet b8627260b2 Update to edition 2018 2019-07-06 20:36:32 +02:00
Vincent Prouillet 22cd4dbb62 Remove unused test key 2019-07-06 20:24:14 +02:00
Vincent Prouillet 3c62b98bd9 Update example to v7 style 2019-06-16 18:15:14 +02:00
Vincent Prouillet d6d0da7ab9
Merge pull request #83 from rakenodiax/chrono-example
Add example of using `chrono::DateTime` in claims
2019-06-16 18:13:43 +02:00
Vincent Prouillet 357eb4c539 Update changelog 2019-06-16 18:03:21 +02:00
Vincent Prouillet 2def25ee87 Merge branch 'kanru-rsa-pss' into next 2019-06-16 18:00:42 +02:00
Vincent Prouillet 20013a4e4f Fixed conflicts 2019-06-16 18:00:00 +02:00
Vincent Prouillet 84ee604e88 trait -> enum 2019-06-16 17:51:43 +02:00