Commit f8a72f29 authored by kaniini's avatar kaniini

activitypub: sign http date header

parent 1c87102d
...@@ -823,11 +823,16 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do ...@@ -823,11 +823,16 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
digest = "SHA-256=" <> (:crypto.hash(:sha256, json) |> Base.encode64()) digest = "SHA-256=" <> (:crypto.hash(:sha256, json) |> Base.encode64())
date =
NaiveDateTime.utc_now()
|> Timex.format!("{WDshort}, {D} {Mshort} {YYYY} {h24}:{m}:{s} GMT")
signature = signature =
Pleroma.Web.HTTPSignatures.sign(actor, %{ Pleroma.Web.HTTPSignatures.sign(actor, %{
host: host, host: host,
"content-length": byte_size(json), "content-length": byte_size(json),
digest: digest digest: digest,
date: date
}) })
with {:ok, %{status: code}} when code in 200..299 <- with {:ok, %{status: code}} when code in 200..299 <-
...@@ -837,6 +842,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do ...@@ -837,6 +842,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
json, json,
[ [
{"Content-Type", "application/activity+json"}, {"Content-Type", "application/activity+json"},
{"Date", date},
{"signature", signature}, {"signature", signature},
{"digest", digest} {"digest", digest}
] ]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment