From 23da4ff45764f1bbe65718bc71ad45d021054529 Mon Sep 17 00:00:00 2001 From: Gabriel Moise Date: Fri, 11 Oct 2024 10:59:58 +0100 Subject: [PATCH] Fix mirage-crypto --- cohttp-async.opam | 2 +- cohttp-async/test/test_async_integration.ml | 2 +- examples/async/dune | 4 ++-- examples/async/s3_cp.ml | 17 +++++------------ 4 files changed, 9 insertions(+), 16 deletions(-) diff --git a/cohttp-async.opam b/cohttp-async.opam index 99e950b4e..1f0d88e1a 100644 --- a/cohttp-async.opam +++ b/cohttp-async.opam @@ -34,7 +34,7 @@ depends: [ "cohttp" {= version} "conduit-async" {>= "1.2.0"} "magic-mime" - "mirage-crypto" {with-test} + "digestif" {with-test} "logs" "fmt" {>= "0.8.2"} "sexplib0" diff --git a/cohttp-async/test/test_async_integration.ml b/cohttp-async/test/test_async_integration.ml index 767d925c6..97bc62d1f 100644 --- a/cohttp-async/test/test_async_integration.ml +++ b/cohttp-async/test/test_async_integration.ml @@ -112,7 +112,7 @@ let ts = ] in Deferred.List.iter ~how:`Sequential tests - ~f:(fun (msg, pipe, expected) -> + ~f:(fun (msg, pipe, expected) -> is_empty (`Pipe pipe) >>| fun real -> assert_equal ~msg expected real) >>= fun () -> diff --git a/examples/async/dune b/examples/async/dune index e495b7388..ff688d21f 100644 --- a/examples/async/dune +++ b/examples/async/dune @@ -1,7 +1,7 @@ (executables (names hello_world receive_post s3_cp) - (libraries mirage-crypto cohttp-async base async_kernel - core_unix.command_unix cstruct)) + (libraries digestif.c cohttp-async base async_kernel core_unix.command_unix + cstruct)) (alias (name runtest) diff --git a/examples/async/s3_cp.ml b/examples/async/s3_cp.ml index 735dcafb4..755e1816f 100644 --- a/examples/async/s3_cp.ml +++ b/examples/async/s3_cp.ml @@ -169,8 +169,7 @@ module Auth = struct let digest s = (* string -> sha256 as a hex string *) - Mirage_crypto.Hash.(digest `SHA256 (Cstruct.of_string s)) - |> Compat.cstruct_to_hex_string + Digestif.SHA256.(digest_string s |> to_hex) let make_amz_headers ?body time = (* Return x-amz-date and x-amz-sha256 headers *) @@ -238,16 +237,12 @@ module Auth = struct Printf.sprintf "AWS4-HMAC-SHA256\n%s\n%s\n%s" time_str scope_str hashed_req let make_signing_key ?date ~region ~service ~secret_access_key () = - let mac k v = - Mirage_crypto.Hash.(mac `SHA256 ~key:k (Cstruct.of_string v)) - in + let mac k v = Digestif.SHA256.(hmac_string ~key:k v |> to_raw_string) in let date' = match date with None -> Date.today ~zone:Time.Zone.utc | Some d -> d in let date_str = Date.to_string_iso8601_basic date' in - let date_key = - mac (Cstruct.of_string ("AWS4" ^ secret_access_key)) date_str - in + let date_key = mac ("AWS4" ^ secret_access_key) date_str in let date_region_key = mac date_key (string_of_region region) in let date_region_service_key = mac date_region_key (string_of_service service) @@ -277,14 +272,12 @@ module Auth = struct (string_of_service service) in let signature = - Mirage_crypto.Hash.( - mac `SHA256 ~key:signing_key (Cstruct.of_string string_to_sign)) + Digestif.SHA256.(hmac_string ~key:signing_key string_to_sign |> to_hex) in let auth_header = Printf.sprintf "AWS4-HMAC-SHA256 Credential=%s,SignedHeaders=%s,Signature=%s" creds - signed_headers - (Compat.cstruct_to_hex_string signature) + signed_headers signature in [ ("Authorization", auth_header) ] end