🐛 Activitypub request didn't sign

This commit is contained in:
2025-12-29 19:47:16 +08:00
parent bb71c558b1
commit ce20c5980b
2 changed files with 15 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
using DysonNetwork.Shared.Models;
using Microsoft.EntityFrameworkCore;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
@@ -235,6 +236,12 @@ public class ActivityPubDeliveryService(
request.Content = new StringContent(json, Encoding.UTF8, "application/activity+json");
request.Headers.Date = DateTimeOffset.UtcNow;
var bodyBytes = Encoding.UTF8.GetBytes(json);
using var sha256 = SHA256.Create();
var hash = sha256.ComputeHash(bodyBytes);
var digest = $"SHA-256={Convert.ToBase64String(hash)}";
request.Headers.Add("Digest", digest);
var signatureHeaders = await signatureService.SignOutgoingRequest(request, actorUri);
var signature = signatureHeaders;