diff --git a/PrivaPub.Tests/Statistics/InteractionsTests.cs b/PrivaPub.Tests/Statistics/InteractionsTests.cs index 877d69b..d75f6f5 100644 --- a/PrivaPub.Tests/Statistics/InteractionsTests.cs +++ b/PrivaPub.Tests/Statistics/InteractionsTests.cs @@ -49,6 +49,8 @@ namespace PrivaPub.Tests.Statistics Assert.Equal("-", Interactions.Host("evil host/with path")); Assert.Equal("-", Interactions.Host(default)); Assert.Equal("social.example", Interactions.HostOf("https://Social.Example:8443/users/x")); + // RFC 9421's algorithm names carry an underscore + Assert.Equal("rfc9421:rsa-v1_5-sha256", Interactions.Sanitize(new InteractionEvent { Signature = "rfc9421:rsa-v1_5-sha256" }).Signature); } [Fact] diff --git a/PrivaPub/Infrastructure/Statistics/Interactions.cs b/PrivaPub/Infrastructure/Statistics/Interactions.cs index c2d31db..2345c20 100644 --- a/PrivaPub/Infrastructure/Statistics/Interactions.cs +++ b/PrivaPub/Infrastructure/Statistics/Interactions.cs @@ -95,7 +95,7 @@ namespace PrivaPub.Infrastructure.Statistics [GeneratedRegex("^[a-z0-9][a-z0-9-]{0,39}$")] private static partial Regex KebabWord(); - [GeneratedRegex("^[a-z0-9][a-z0-9:-]{0,39}$")] + [GeneratedRegex("^[a-z0-9][a-z0-9:_-]{0,39}$")] private static partial Regex SignatureName(); [GeneratedRegex("^[a-z0-9][a-z0-9:/+.-]{0,63}$")]