Make signature header lowercase as per h2 requirements

This commit is contained in:
asonix 2020-03-17 15:12:10 -05:00
parent 760dedaade
commit df4ac1e2cf
5 changed files with 5 additions and 9 deletions

View file

@ -1,7 +1,7 @@
[package] [package]
name = "http-signature-normalization-actix" name = "http-signature-normalization-actix"
description = "An HTTP Signatures library that leaves the signing to you" description = "An HTTP Signatures library that leaves the signing to you"
version = "0.3.0-alpha.3" version = "0.3.0-alpha.4"
authors = ["asonix <asonix@asonix.dog>"] authors = ["asonix <asonix@asonix.dog>"]
license-file = "LICENSE" license-file = "LICENSE"
readme = "README.md" readme = "README.md"

View file

@ -16,7 +16,7 @@ This crate provides extensions the ClientRequest type from Actix Web, and provid
actix = "0.10.0-alpha.1" actix = "0.10.0-alpha.1"
actix-web = "3.0.0-alpha.1" actix-web = "3.0.0-alpha.1"
thiserror = "0.1" thiserror = "0.1"
http-signature-normalization-actix = { version = "0.3.0-alpha.3", default-features = false, features = ["sha-2"] } http-signature-normalization-actix = { version = "0.3.0-alpha.4", default-features = false, features = ["sha-2"] }
sha2 = "0.8" sha2 = "0.8"
``` ```

View file

@ -13,7 +13,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut response = Client::default() let mut response = Client::default()
.post("http://127.0.0.1:8010/") .post("http://127.0.0.1:8010/")
.header("User-Agent", "Actix Web") .header("User-Agent", "Actix Web")
.authorization_signature_with_digest(&config, "my-key-id", &mut digest, "Hewwo-owo", |s| { .signature_with_digest(&config, "my-key-id", &mut digest, "Hewwo-owo", |s| {
Ok(base64::encode(s)) as Result<_, MyError> Ok(base64::encode(s)) as Result<_, MyError>
})? })?
.send() .send()

View file

@ -55,11 +55,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
HttpServer::new(move || { HttpServer::new(move || {
App::new() App::new()
.wrap(VerifyDigest::new(Sha256::new()).optional()) .wrap(VerifyDigest::new(Sha256::new()).optional())
.wrap( .wrap(VerifySignature::new(MyVerify, config.clone()).optional())
VerifySignature::new(MyVerify, config.clone())
.authorization()
.optional(),
)
.route("/", web::post().to(index)) .route("/", web::post().to(index))
}) })
.bind("127.0.0.1:8010")? .bind("127.0.0.1:8010")?

View file

@ -27,7 +27,7 @@ impl Signed {
pub fn signature_header(self, hm: &mut HeaderMap) -> Result<(), InvalidHeaderValue> { pub fn signature_header(self, hm: &mut HeaderMap) -> Result<(), InvalidHeaderValue> {
let sig_header = self.signed.signature_header(); let sig_header = self.signed.signature_header();
hm.insert( hm.insert(
HeaderName::from_static("Signature"), HeaderName::from_static("signature"),
HeaderValue::from_str(&sig_header)?, HeaderValue::from_str(&sig_header)?,
); );