-
-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HTTP signatures rewrite #488
Conversation
DesignThis crate will expose two different API levels. A mid-level API and a high-level API. Mid-level APIThis API provides header parsing, signing string construction and verification/signing, etc. but all in separate steps. Mostly geared towards either:
High-level APIThe high-level API will expose a conservative set of configuration options and will have an API akin to this: async fn (req, opts) -> bool where the boolean implies whether the verification succeeded or failed (for whatever reason). It's an async method and will execute the actual validation on a rayon background task. Key fetching is only done when required using a closure which returns a fallible future. If this doesn't fit your use-case, you have to drop down to the mid-level API, as explained above. |
4bcc511
to
abcd006
Compare
e411c36
to
a87a862
Compare
a87a862
to
57ee494
Compare
Flake lock file updates: • Updated input 'devenv': 'github:cachix/devenv/0e68853bb27981a4ffd7a7225b59ed84f7180fc7' (2024-02-03) → 'github:cachix/devenv/5a30b9e5ac7c6167e61b1f4193d5130bb9f8defa' (2024-02-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/e92b6015881907e698782c77641aa49298330223' (2024-02-02) → 'github:nixos/nixpkgs/a4d4fe8c5002202493e87ec8dbc91335ff55552c' (2024-02-15) • Updated input 'rust-overlay': 'github:oxalica/rust-overlay/61dfa5a8129f7edbe9150253c68f673f87b16fb1' (2024-02-05) → 'github:oxalica/rust-overlay/4ee92bf124fbc4e157cbce1bc2a35499866989fc' (2024-02-16)
7b70038
to
45ba735
Compare
0fae4e9
to
f5882e1
Compare
Okay, fixed the broken clock skew adjustment. Now it should be fine. Adding one minute to every timestamp so we operate a little bit in the future. |
Does that look good @perillamint ? |
6b9d7f8
to
4f2ebd7
Compare
LGTM! |
Rewrite of the HTTP signatures implementation using a more sophisticated parsing method and implementing hardened rules to hopefully get rid of any security issues that could arise from improperly implemented HTTP signatures.
Closes #195