activitypub: add digest header to outbound messages and sign it

This commit is contained in:
William Pitcock 2018-07-31 21:41:18 +00:00
parent ba72c51a0f
commit 2890aef9e8

View file

@ -641,8 +641,14 @@ def publish_one(%{inbox: inbox, json: json, actor: actor, id: id}) do
Logger.info("Federating #{id} to #{inbox}") Logger.info("Federating #{id} to #{inbox}")
host = URI.parse(inbox).host host = URI.parse(inbox).host
digest = "SHA-256=" <> (:crypto.hash(:sha256, json) |> Base.encode64())
signature = signature =
Pleroma.Web.HTTPSignatures.sign(actor, %{host: host, "content-length": byte_size(json)}) Pleroma.Web.HTTPSignatures.sign(actor, %{
host: host,
"content-length": byte_size(json),
digest: digest
})
@httpoison.post( @httpoison.post(
inbox, inbox,