[backend/federation] Don't require date header in http signatures if (created) is present and signed
This commit is contained in:
parent
d0356fc6ea
commit
3ca926cfbd
2 changed files with 12 additions and 2 deletions
|
@ -92,7 +92,12 @@ public class AuthorizedFetchMiddleware(
|
|||
throw new GracefulException(HttpStatusCode.Forbidden, "Forbidden", "Instance is blocked",
|
||||
suppressLog: true);
|
||||
|
||||
List<string> headers = ["(request-target)", "host", "date"];
|
||||
List<string> headers = ["(request-target)", "host"];
|
||||
|
||||
if (sig.Created != null && !sig.Headers.Contains("date"))
|
||||
headers.Add("(created)");
|
||||
else
|
||||
headers.Add("date");
|
||||
|
||||
verified = await HttpSignature.VerifyAsync(request, sig, headers, key.KeyPem);
|
||||
logger.LogDebug("HttpSignature.Verify returned {result} for key {keyId}", verified, sig.KeyId);
|
||||
|
|
|
@ -113,7 +113,12 @@ public class InboxValidationMiddleware(
|
|||
throw new GracefulException(HttpStatusCode.Forbidden, "Forbidden", "Instance is blocked",
|
||||
suppressLog: true);
|
||||
|
||||
List<string> headers = ["(request-target)", "digest", "host", "date"];
|
||||
List<string> headers = ["(request-target)", "digest", "host"];
|
||||
|
||||
if (sig.Created != null && !sig.Headers.Contains("date"))
|
||||
headers.Add("(created)");
|
||||
else
|
||||
headers.Add("date");
|
||||
|
||||
verified = await HttpSignature.VerifyAsync(request, sig, headers, key.KeyPem);
|
||||
logger.LogDebug("HttpSignature.Verify returned {result} for key {keyId}", verified, sig.KeyId);
|
||||
|
|
Loading…
Add table
Reference in a new issue